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

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

5
Як скомпілювати C ++ за допомогою Clang?
Я встановив Clang за допомогою apt-get в Ubuntu, і я можу успішно скомпілювати файли C, використовуючи його. Однак я не маю уявлення про те, як скомпілювати через нього C ++. Що мені потрібно зробити для компіляції C ++?
97 c++  clang 


4
Як перевірити тип параметра шаблону?
Припустимо, у мене є функція шаблону і два класи class animal { } class person { } template<class T> void foo() { if (T is animal) { kill(); } } Як мені перевірити наявність тварини? Я не хочу мати щось, що перевіряє під час роботи. Дякую
97 c++  templates 

9
Не вдається знайти Dumpbin.exe
Я не бачу dumpbin.exe у своїй системі. У мене в системі Visual Studio 2005. Коли я набираю dumpbin у командному рядку, він повідомляє невпізнанну команду. Чи постачається він із Visual Studio за замовчуванням, чи мені потрібно явно додати цей інструмент?

7
Як я можу передати std :: unique_ptr у функцію
Як я можу передати a std::unique_ptrу функцію? Скажімо, у мене є такий клас: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Наступне не компілюється: void MyFunc(unique_ptr<A> arg) { cout << arg->GetVal() << endl; } int main(int argc, …
97 c++  c++11  unique-ptr 

9
Як працює метод main () в C?
Я знаю, що є два різних підписи для написання основного методу - int main() { //Code } або для обробки аргументу командного рядка ми пишемо його як- int main(int argc, char * argv[]) { //code } В C++Я знаю , що ми можемо перевантажити метод, але Cяк компілятор обробляти ці …
96 c++  c 

9
Чистий код для друкуf size_t в C ++ (або: найближчий еквівалент% z в C ++)
У мене є код C ++, який друкує size_t: size_t a; printf("%lu", a); Я хотів би, щоб це компілювалось без попереджень як для 32-, так і для 64-розрядної архітектури. Якби це був C99, я міг би використати printf("%z", a);. Але AFAICT %zне існує в жодному стандартному діалекті С ++. Тому …
96 c++  printf  size-t 

20
Як мені виявити непотрібні файли #include у великому проекті C ++?
Я працюю над великим проектом C ++ у Visual Studio 2008, і є багато файлів із непотрібними #includeдирективами. Іноді #includes - це лише артефакти, і все буде скомпільовано нормально, з їх видаленням, а в інших випадках класи можуть бути оголошені вперед і #include може бути переміщений у .cppфайл. Чи є …

3
Які відмінності між поняттями та обмеженнями шаблонів?
Я хочу знати, які семантичні відмінності між повною пропозицією концепцій C ++ та обмеженнями шаблонів (наприклад, обмеження, як з’явилося в Dlang, або нова концепція-lite пропозиція для C ++ 1y ). Що можуть зробити повноцінні концепції, ніж не можуть обмеження шаблонів?
96 c++  c++11  d  c++-concepts 

4
Управління пам'яттю в Qt?
Я зовсім новачок у Qt, і мені цікаво про деякі основні речі з управління пам’яттю та життям об’єктів. Коли потрібно видаляти та / або знищувати свої об'єкти? Чи обробляється що-небудь із цього автоматично? У прикладі нижче, який із створених мною об’єктів мені потрібно видалити? Що відбувається зі змінною екземпляра myOtherClassпри …
96 c++  qt  memory  object 

3
Чому sizeof int неправильний, а sizeof (int) правильний?
Ми знаємо, що sizeofце оператор, який використовується для обчислення розміру будь-якого типу даних та виразу, і коли операнд є виразом, дужки можна опустити. int main() { int a; sizeof int; sizeof( int ); sizeof a; sizeof( a ); return 0; } перше використання sizeofнеправильно, тоді як інші мають рацію. Коли …
96 c++  c  sizeof 

2
Що означає «отруїти функцію» в C ++?
В самому кінці виступу Скотта Шура "Введення constexpr" на CppCon він запитує "Чи є спосіб отруїти функцію"? Потім він пояснює, що це можна зробити (хоча і нестандартно) шляхом: Поміщення a throwу constexprфункцію Оголошення невирішеним extern const char* Посилання на невирішені externвthrow Я відчуваю, що я тут трохи заглибився, але мені …
96 c++  constexpr 

3
Чому немає std :: stou?
C ++ 11 додав кілька нових функцій перетворення рядків: http://en.cppreference.com/w/cpp/string/basic_string/stoul Він включає stoi (рядок до int), stol (рядок до довгого), stoll (рядок до довгого довгого), stoul (рядок до беззнакового довгого), stoull (рядок до беззнакового довгого довгого). Примітною за його відсутності є функція stou (рядок до беззнаку). Чи є якісь причини, …
96 c++  string  c++11  std 

16
Розбиття шаблонованих класів C ++ на файли .hpp / .cpp - чи можливо?
Я отримую помилки при спробі скомпілювати клас шаблону C ++, який розділений між a .hppта .cppфайлом: $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' collect2: ld …

14
Як видалити певні символи з рядка в C ++?
Наприклад, у мене є користувач, який вводить номер телефону. cout << "Enter phone number: "; INPUT: (555) 555-5555 cin >> phone; Я хочу видалити символи "(", ")" та "-" із рядка. Я розглянув функції видалення, пошуку та заміни рядка, однак я бачу лише те, що вони діють на основі позиції. …
96 c++  string  character 

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