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

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

12
Ніколи не бачив C ++ для циклу
Я перетворював алгоритм C ++ в C #. Я натрапив на це для циклу: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; Він не дає помилок у C ++, але він робить у C # (не може перетворити int в bool). Я справді не …
164 c#  c++  for-loop 

5
Чому я не можу переадресувати оголошення в просторі імен за допомогою подвійних кольорових знаків?
class Namespace::Class; Чому я повинен це робити ?: namespace Namespace { class Class; } Використовуючи VC ++ 8.0, компілятор видає: помилка C2653: 'Простір імен': це не ім’я класу чи простору імен Я припускаю, що проблема тут полягає в тому, що компілятор не може сказати, чи Namespaceце клас чи простір імен? …
164 c++  namespaces 

10
Як виправити .pch файл відсутній у збірці?
Коли я будую своє рішення c ++ у Visual Studio, він скаржиться, що файл xxxxx.pch відсутній. Чи є у мене налаштування, щоб повернути заздалегідь складені заголовки? ось точна помилка повноти: Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory

6
Чи можуть віртуальні функції мати параметри за замовчуванням?
Якщо я оголошу базовий клас (або клас інтерфейсу) і вказую значення за замовчуванням для одного або декількох його параметрів, чи повинні похідні класи задавати однакові за замовчуванням, а якщо ні, то які за замовчуванням будуть проявлятися у похідних класах? Додаток: Мене також цікавить, як це може бути оброблено в різних …
164 c++  c++11  c++03 

3
На прикладі Струструпа, що означає двокрапка у "поверненні 1: 2"?
Я не розумію одного конкретного вживання двокрапки. Я знайшов це в книзі Мова програмування на C ++ Б'ярна Струструпа, 4-е видання, розділ 11.4.4 "Дзвінки та повернення", стор. 297: void g(double y) { [&]{ f(y); } // return type is void auto z1 = [=](int x){ return x+y; } // return …
163 c++  syntax 

13
Чи є D надійною альтернативою Java та C ++? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
163 java  c++  c  d 

7
Які переваги використання nullptr?
Цей фрагмент коду концептуально робить те саме для трьох покажчиків (безпечна ініціалізація вказівника): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; І так, які переваги присвоєння покажчиків nullptrперед присвоєнням їм значень NULLчи 0?
163 c++  c++11  null  c++-faq  nullptr 


8
Яка різниця між istringstream, ostringstream та stringstream? / Чому б не використовувати стрингстрім у кожному випадку?
Коли я використовую std::istringstream, std::ostringstreamі std::stringstreamчому б мені не просто використовувати std::stringstreamв кожному сценарії (чи є якісь - або проблеми з продуктивністю виконання?). Нарешті, чи є щось погане в цьому (замість того, щоб взагалі використовувати потік): std::string stHehe("Hello "); stHehe += "stackoverflow.com"; stHehe += "!";

4
Автоматично додавати всі файли в папці до цілі за допомогою CMake?
Я розглядаю можливість переключення міжплатформенного проекту з окремих систем управління побудовою в Visual C ++, XCode та makefiles на CMake. Однією з важливих особливостей, які мені потрібні, є автоматичне додавання всіх файлів у каталозі до цільового. Хоча це зробити легко, але це не легко виконати з Visual C ++ та …

8
Чи краще використовувати std :: memcpy () або std :: copy () з точки зору продуктивності?
Чи краще використовувати, memcpyяк показано нижче, або краще використовувати їх std::copy()з точки зору продуктивності? Чому? char *bits = NULL; ... bits = new (std::nothrow) char[((int *) copyMe->bits)[0]]; if (bits == NULL) { cout << "ERROR Not enough memory.\n"; exit(1); } memcpy (bits, copyMe->bits, ((int *) copyMe->bits)[0]);

3
Чому конверсія з рядка є постійною в "char *", діє в C, але недійсна в C ++
Стандарт C ++ 11 (ISO / IEC 14882: 2011) говорить § C.1.1: char* p = "abc"; // valid in C, invalid in C++ Для C ++ це нормально, оскільки вказівник на Stral Literal є шкідливим, оскільки будь-яка спроба змінити його призводить до збоїв. Але чому він дійсний у С? С …
163 c++  c  string  c++11  char 

10
Чи слід зберігати цілі об'єкти чи покажчики на об’єкти в контейнерах?
Проектування нової системи з нуля. Я буду використовувати STL для зберігання списків і карт певних довгоживучих об'єктів. Запитання: Чи повинен я забезпечити, щоб мої об'єкти мали конструктори копій і зберігали копії об'єктів в моїх контейнерах STL, або як правило, краще керувати життям і сферою застосування і просто зберігати вказівники на …
162 c++  stl  pointers 

5
Чому цей цикл створює "попередження: ітерація 3u викликає невизначене поведінку" та виводить більше 4 рядків?
Складання цього: #include <iostream> int main() { for (int i = 0; i < 4; ++i) std::cout << i*1000000000 << std::endl; } і gccвидає таке попередження: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] std::cout << i*1000000000 << std::endl; ^ Я розумію, що існує підписане ціле число. Що я не можу …

1
Що таке string_view?
string_view була запропонована функція в TS + Основи бібліотеки C ++ ( N3921 ), доданого до C ++ 17 Наскільки я розумію, це тип, який представляє якусь строкову "концепцію", це перегляд будь-якого типу контейнера, який міг би зберігати щось видиме як рядок. Чи це правильно ? Чи повинен const std::string&стати …

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