Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.



18
Чому програмісти на C ++ мінімізують використання "нового"?
Я натрапив на запитання про переповнення стека Витік пам'яті з std :: string при використанні std :: list <std :: string> , і один із коментарів говорить про це: Перестань newтак сильно користуватися. Я не бачу жодної причини, коли ти використовував нове де завгодно. Ви можете створювати об'єкти за значенням …


11
Код C ++ для тестування гіпотези Collatz швидше, ніж рукописна збірка - чому?
Я написав ці два рішення для проекту Euler Q14 , в зборі та в C ++. Це той же самий ідентичний підхід для випробування гіпотези Колатца . Рішення для складання було зібрано з nasm -felf64 p14.asm && gcc p14.o -o p14 С ++ було складено з g++ p14.cpp -o p14 …

30
Який найкращий спосіб обрізати std :: string?
Наразі я використовую такий код, щоб правильно обрізати всі std::stringsмої програми: std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); Це добре працює, але мені цікаво, чи є якісь кінцеві випадки, коли це може вийти з ладу? Звичайно, вітаються відповіді з елегантними альтернативами, а також рішенням зліва.
812 c++  trim  stdstring 


4
Що означає T&& (подвійний амперсанд) в C ++ 11?
Я розглядав деякі нові функції C ++ 11, і я помітив, що це подвійний амперсанд у оголошенні змінних, як T&& var. Для початку, як називається цей звір? Я хотів би, щоб Google дозволив нам шукати такі розділові знаки. Що саме це означає? На перший погляд, це здається подвійним посиланням (як …

9
Чому в макросах використовувати зовнішньо безглузді висловлювання до-час та інше?
У багатьох макросах C / C ++ я бачу код макросу, загорнутий у те, що здається безглуздим do whileциклом. Ось приклади. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Я не бачу, що do whileробить. Чому б просто не написати …
787 c++  c  c-preprocessor  c++-faq 

25
Як перетворити std :: string в малі регістри?
Я хочу перетворити std::stringна малі регістри. Я знаю про цю функцію tolower(), проте в минулому у мене виникли проблеми з цією функцією, і навряд чи це ідеально, оскільки використання з std::stringзнаряддям вимагає повторення кожного символу. Чи існує альтернатива, яка працює 100% часу?

7
push_back vs emplace_back
Я трохи розгублений щодо різниці між push_backі emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Оскільки є push_backперевантаження з урахуванням рецензії, я не зовсім розумію, якою emplace_backстає мета ?

2
Чому моя програма повільна під час перегляду певних 8192 елементів?
Ось витяг із відповідної програми. Матриця img[][]має розмір SIZE × SIZE і ініціалізується на: img[j][i] = 2 * j + i Потім ви робите матрицю res[][], і кожне поле тут робиться як середнє серед 9 полів навколо неї в матриці img. Для простоти межа залишається на 0. for(i=1;i<SIZE-1;i++) for(j=1;j<SIZE-1;j++) { …

12
std :: wstring VS std :: рядок
Я не в змозі зрозуміти відмінності між std::stringі std::wstring. Я знаю, що wstringпідтримує широкі символи, такі як символи Unicode. У мене є такі питання: Коли я повинен використовувати std::wstringбільше std::string? Може std::stringвмістити весь набір символів ASCII, включаючи спеціальні символи? Чи std::wstringпідтримується всіма популярними компіляторами C ++? Що таке « широкий …
740 c++  string  unicode  c++-faq  wstring 



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.