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

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

2
C ++ unororder_map, використовуючи в якості ключа спеціальний тип класу
Я намагаюся використовувати спеціальний клас як ключ для unordered_map, наприклад: #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){} Node(vector<int> v) { sort(v.begin(), v.end()); a = v[0]; b = v[1]; c = v[2]; } bool …



5
std :: вектор проти std :: масив на C ++
У чому різниця між a std::vectorі std::arrayin у C ++? Коли слід віддавати перевагу іншому? Які плюси і мінуси у кожного? У моєму підручнику перелічено, як вони однакові.
283 c++  arrays  vector 


18
Як роздрукувати вміст вектора?
Я хочу роздрукувати вміст вектора в C ++, ось що у мене є: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream file("maze.txt"); if (file) { vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>())); vector<char> path; int x = 17; char entrance = …
282 c++  vector  output  stdvector  cout 

18
Що обґрунтовує нульові завершені рядки?
Наскільки я люблю C і C ++, я не можу не почухати голову при виборі нульових завершених рядків: Попередньо встановлені (тобто Pascal) рядки існували до C Префіксні рядки по довжині роблять кілька алгоритмів швидшими, дозволяючи шукати постійну тривалість часу. Попередньо встановлені рядки по довжині ускладнюють помилки перевиконання буфера. Навіть на …
281 c++  c  string  null-terminated 


16
Ініціалізація структури C ++
Чи можливо ініціалізувати структури в C ++, як зазначено нижче struct address { int street_no; char *street_name; char *city; char *prov; char *postal_code; }; address temp_address = { .city = "Hamilton", .prov = "Ontario" }; Посилання тут і тут згадують, що використовувати цей стиль можна лише в C. Якщо так, …
279 c++ 

9
Чому люди кажуть, що при використанні генератора випадкових чисел існує модульне зміщення?
Я бачив це запитання багато, але ніколи не бачив справжньої конкретної відповіді на нього. Отож, я збираюся опублікувати тут, який, сподіваюся, допоможе людям зрозуміти, чому саме існує "модульний зміщення" при використанні генератора випадкових чисел, як rand()у C ++.

17
Приватні та захищені члени: C ++
Чи може хтось просвітити мене щодо різниці між членами privateта protectedчленами занять? Я розумію , від умовностей найкращої практики , що змінні і функції , які не називаються поза класом повинні бути зроблені private- але дивлячись на мій MFC проект, MFC , здається, користь protected. У чому різниця і що …
276 c++  class  mfc 

13
Як працюють malloc () та free ()?
Я хочу знати, як mallocі як freeпрацювати. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } Я був би дуже вдячний, …

8
Різниця в make_shared і нормальному shared_ptr в C ++
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Про це є багато публікацій google та stackoverflow, але я не в змозі зрозуміти, чому make_sharedефективніше, ніж безпосередньо використовувати shared_ptr. Може хтось пояснить мені покрокову послідовність створених об'єктів і операцій, які виконуються обома, так що я зможу зрозуміти, наскільки make_sharedце ефективно. Я наводив …
276 c++  c++11  shared-ptr 

23
Який найефективніший спосіб стерти дублікати та сортувати вектор?
Мені потрібно взяти вектор C ++ з потенційно великою кількістю елементів, стерти дублікати та сортувати його. На даний момент у мене є код нижче, але він не працює. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Як я можу правильно це зробити? Крім того, чи швидше спочатку стерти дублікати (подібно до закодованого …
274 c++  sorting  vector  stl  duplicates 

11
Коли я повинен використовувати нове ключове слово в C ++?
Я недовго використовую C ++, і мені цікаво про нове ключове слово. Просто я повинен ним користуватися, чи ні? 1) За допомогою нового ключового слова ... MyClass* myClass = new MyClass(); myClass->MyField = "Hello world!"; 2) Без нового ключового слова ... MyClass myClass; myClass.MyField = "Hello world!"; З точки зору …

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