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

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

6
Потрібен ітератор, коли використовується цикл на основі діапазону
На даний момент я можу робити лише цикли на основі діапазону з цим: for (auto& value : values) Але іноді мені потрібен ітератор значення, а не посилання (З якоїсь причини). Чи існує який-небудь метод без необхідності проходити весь вектор, порівнюючи значення?
84 c++  c++11  for-loop  iterator 

5
Невизначена поведінка та точки послідовності перезавантажені
Розгляньте цю тему як продовження наступної теми: Попередній внесок Невизначена поведінка та точки послідовності Давайте ще раз переглянемо цей кумедний і заплутаний вираз (курсив викладено з вищезазначеної теми * посмішка *): i += ++i; Ми говоримо, що це викликає невизначену поведінку. Я вважаю , що , коли говорять про це, …

6
Навіщо мені std :: get_temporary_buffer?
З якою метою я повинен використовувати std::get_temporary_buffer? Стандарт говорить наступне: Отримує покажчик на сховище, достатнє для зберігання до n сусідніх T об’єктів. Я думав, що буфер буде виділено на стек, але це неправда. Відповідно до стандарту C ++ цей буфер насправді не є тимчасовим. Які переваги має ця функція перед …

4
Як Photoshop поєднує два зображення? [зачинено]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито минулого року . Удосконалюйте це питання Чи може хтось пояснити, як Photoshop поєднує два зображення разом, щоб я міг відтворити ті самі …

4
Як визначити різні типи для одного класу в C ++
Я хотів би мати декілька типів, які мають однакову реалізацію, але все ще мають різний тип в C ++. Щоб проілюструвати своє запитання на простому прикладі, я хотів би мати клас для яблук, апельсинів та бананів, у яких однакові операції та однакова реалізація. Я хотів би, щоб вони мали різні …
84 c++  types 

5
Enum проти сильно набраного enum
Я новачок у програмуванні на C ++. Сьогодні я натрапляю на нову тему: сильно набрана enum. Я трохи досліджував це, але дотепер я не можу з'ясувати, навіщо це нам потрібно і яка користь від того самого? Наприклад, якщо ми маємо: enum xyz{a, b, c}; /*a = 0, b = 1, …
84 c++  c++11  enums 

1
C ++ 11 make_pair із зазначеними параметрами шаблону не компілюється
Я просто бавився з g ++ 4.7 (одним із пізніших знімків) з увімкненим -std = c ++ 11. Я намагався скомпілювати деякі мої існуючі основи коду, і один випадок, який не вдався, дещо бентежить мене. Буду вдячний, якщо хтось зможе пояснити, що відбувається. Ось код: #include <utility> #include <iostream> #include …

2
std :: dynarray проти std :: vector
C ++ 14 представляє std::dynarray: std :: dynarray - це контейнер послідовностей, який інкапсулює масиви розміром, який фіксується при побудові і не змінюється протягом усього життя об’єкта. std::dynarrayповинні бути розподілені під час виконання так само, як std::vector. То які переваги та використання того часу, std::dynarrayколи ми можемо користуватися, std::vectorє більш …
84 c++  stdvector 

1
Чи може оператор приведення бути явним?
Що стосується конструкторів, додавання ключового слова explicitзаважає захопленому компілятору створювати об'єкт, коли це не було першим наміром програміста. Чи доступний такий механізм і для операторів кастингу? struct Foo { operator std::string() const; }; Ось, наприклад, я хотів би мати можливість відіграти Fooроль std::string, але я не хочу, щоб такий актор …

11
Чи швидше x + =, ніж x = x + a?
Я читав "Страуструпа" "Мова програмування C ++", де він каже, що з двох способів додати щось до змінної x = x + a; і x += a; Він віддає перевагу +=тому, що це, швидше за все, краще реалізувати. Я думаю, він має на увазі, що це теж працює швидше. Але …

4
Об’єднання рядків не працює належним чином [закрито]
Важко сказати, про що тут питають. Це питання неоднозначне, розпливчасте, неповне, надто широке або риторичне, і на нього не можна обґрунтовано відповісти в його нинішній формі. Щоб отримати допомогу щодо роз’яснення цього питання з метою його відновлення, відвідайте довідковий центр . Закрито 8 років тому . Я знаю, що це …

4
long long в C / C ++
Я випробовую цей код на компіляторі C ++ GNU і не можу зрозуміти його поведінку: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", num1, …



7
Як викликати функцію C ++ з C?
Я знаю, що це. Виклик функції C з C ++: Якби моя програма була на C ++, і мені довелося викликати функції з бібліотеки, написаної на C. Тоді я б використав //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_function(2,4);// directly using it. Це не призведе до перекручування імені, C_library_functionі …
84 c++  c  visual-c++  extern-c 

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