Skip to content

Conversation

@drozdvadym
Copy link

No description provided.

@drozdvadym
Copy link
Author

Яку функцію ти не назвав би оптимальною?

Now function return pointer to added value.
And adding  of new value is more efficiently
@Youw
Copy link

Youw commented Feb 8, 2014

загалом. ти робиш копію рядка, а потім його розвертаєш. Лишній прохід по цілому рядку.

1.cpp Outdated
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

думаю це варто випраивити, як і в інших файлах також

@drozdvadym
Copy link
Author

Звідки ви знаєте що використовується в strdup? в студентській реалізації так, повний обхід, в нормальній тільки strlen повністю обходить, а далі або memcpy або розгортання циклу і так далі, тобто оптимізації.

На рахунок swap згоден.

Якщо ж писати в C++ стилі взагалі краще використати std::swap :).

На рахунок макросів - почитайте буст і сирци різних контейнерів, здивуєтеся що там є багато макросів. Або ж Qt почитайте, там теж багато.
Макроси це не зовсім сішний стиль - це інструмент препроцесора, який і надалі присутній в C++.

Звичайно в більшості випадків, в який використовують макроси студенти в С, в С++ краще їх замінювати const, inline, template (в моєму випадку теж краще було б inline використати)

Якщо ж писати повністю в C++ стилі, то я зробив би так:

#include
#include // std::reverse
#include

static const char* str = "The string!";

int main () {
std::string result(str);

std::reverse(result.begin(), result.end());

char* reverse_string = &result[0];

std::cout << "Original: " << str << std::endl;
std::cout << "Reversed: " << reverse_string << std::endl;

return 0;
}

Дякую за критику. Завдяки ній і учимося :)

@drozdvadym
Copy link
Author

Напевне зараз і закомічу такий варіант :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants