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

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



4
розумні покажчики (boost) пояснено
Яка різниця між наступним набором покажчиків? Коли ви використовуєте кожен покажчик у виробничому коді, якщо він взагалі є? Приклади були б вдячні! scoped_ptr shared_ptr weak_ptr intrusive_ptr Чи використовуєте ви стимул у виробничому коді?

4
Чому перекрита функція у похідному класі приховує інші перевантаження базового класу?
Розглянемо код: #include <stdio.h> class Base { public: virtual void gogo(int a){ printf(" Base :: gogo (int) \n"); }; virtual void gogo(int* a){ printf(" Base :: gogo (int*) \n"); }; }; class Derived : public Base{ public: virtual void gogo(int* a){ printf(" Derived :: gogo (int*) \n"); }; }; int …

5
Як додати посилання або компілювати прапор у файл CMake?
Я використовую arm-linux-androideabi-g++компілятор. Коли я намагаюся скласти просте "Привіт, світ!" Програма вона складе штрафу. Коли я тестую його, додаючи простий обробку винятків у цей код, він також працює (після додавання -fexceptions.. Я думаю, він за умовчанням відключений). Це для пристрою Android, і я хочу використовувати лише CMake, не так ndk-build. …
220 c++  cmake 

14
Скільки коштує занадто багато ключових слів C ++ 11?
Я використовую нове autoключове слово, доступне в стандарті C ++ 11, для складних шаблонових типів, для чого я вважаю, що він був розроблений. Але я також використовую його для таких речей, як: auto foo = std::make_shared<Foo>(); І більш скептично: auto foo = bla(); // where bla() return a shared_ptr<Foo> Я …

14
Як використовувати перерахунки в C ++
Припустимо, у нас є enumтаке: enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday}; Я хочу створити екземпляр цього enumі ініціалізувати його з належним значенням, тому роблю: Days day = Days.Saturday; Тепер я хочу перевірити свою змінну або екземпляр на існуючому enumзначенні, так що: if (day == Days.Saturday) { std::cout << …
218 c++  enums 

3
Чому транспортування матриці 512x512 набагато повільніше, ніж транспонування матриці 513x513?
Провівши кілька експериментів на квадратних матрицях різної величини, вийшов візерунок. Незмінно переміщення матриці розміру 2^nвідбувається повільніше, ніж транспонування розміру2^n+1 . Для малих значень n, різниця не є основною. Однак великі відмінності виникають над значенням 512. (принаймні, для мене) Відмова: Я знаю, що функція насправді не переносить матрицю через подвійний підміна …

2
Чому я не можу не повернути унікальний_ptr у вектор?
Що не так з цією програмою? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Помилка: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) …


4
Чому це твердження if, що поєднує призначення та перевірку рівності, повертає істину?
Я думав про деякі помилки початківців, і закінчився тим, що було ifзаявлено. Я трохи розширив код до цього: int i = 0; if (i = 1 && i == 0) { std::cout << i; } Я бачив , що ifоператор повертає вірно, і це cout«S , iяк 1. Якщо iпризначається …
216 c++  if-statement 

15
С ++ сортування та відстеження індексів
Використовуючи C ++ і, сподіваюся, стандартну бібліотеку, я хочу сортувати послідовність зразків у порядку зростання, але я також хочу запам’ятати початкові індекси нещодавно зразків. Наприклад, у мене є набір, або вектор, або матриця зразків A : [5, 2, 1, 4, 3]. Я хочу їх сортувати за формою B : [1,2,3,4,5], …
216 c++  sorting  stl  indexing 

6
make_unique та ідеальне переадресація
Чому std::make_uniqueв стандартній бібліотеці C ++ 11 немає шаблону функцій? я знайшов std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); трохи багатослівний. Не було б наступне набагато приємніше? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Це newдобре приховує і лише один раз згадує тип. У будь-якому випадку, ось моя спроба реалізації make_unique: template<typename T, …

4
Прокручування через C ++ через карту
Я хочу повторити кожен елемент у, map<string, int>не знаючи жодного з його рядкових значень чи ключів. Що я маю досі: void output(map<string, int> table) { map<string, int>::iterator it; for (it = table.begin(); it != table.end(); it++) { //How do I access each element? } }
216 c++  dictionary 

3
Чому визначення покажчиків функцій працюють з будь-якою кількістю амперсандів '&' або зірочок '*'?
Чому наступні роботи? void foo() { cout << "Foo to you too!\n"; }; int main() { void (*p1_foo)() = foo; void (*p2_foo)() = *foo; void (*p3_foo)() = &foo; void (*p4_foo)() = *&foo; void (*p5_foo)() = &*foo; void (*p6_foo)() = **foo; void (*p7_foo)() = **********************foo; (*p1_foo)(); (*p2_foo)(); (*p3_foo)(); (*p4_foo)(); (*p5_foo)(); (*p6_foo)(); …
216 c++  c  function-pointers 

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