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

Забезпечує спільне редагування питань C ++, що редагуються спільнотою

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

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

5
Яке правильне оголошення основного?
Яка правильна підпис mainфункції в C ++? Що таке правильний тип повернення і що означає повернути значення main? Які дозволені типи параметрів та які їх значення? Ця система специфічна? Чи змінилися ці правила з часом? Що станеться, якщо я їх порушую?
147 c++  main  c++-faq 

3
Які маніпулятори iomanip є "липкими"?
Нещодавно у мене виникли проблеми із створенням stringstreamчерез те, що я неправильно припустив, std::setw()що вплине на потік потоку для кожної вставки, поки я явно не змінив її. Однак після вставки вона завжди не налаштована. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss …
140 c++  c++-faq 


9
Чому використання «нового» викликає протікання пам’яті?
Спочатку я засвоїв C #, а зараз я починаю з C ++. Як я розумію, оператор newв C ++ не схожий на той, що знаходиться в C #. Чи можете ви пояснити причину витоку пам’яті в цьому прикладі коду? class A { ... }; struct B { ... }; A …

7
Поліморфізм у С ++
AFAIK: C ++ забезпечує три різні види поліморфізму. Віртуальні функції Перенавантаження назви функції Перевантаження оператора Крім перерахованих вище трьох типів поліморфізму, існують і інші види поліморфізму: час виконання час складання спеціальний поліморфізм параметричний поліморфізм Я знаю, що поліморфізм часу виконання може бути досягнутий за допомогою віртуальних функцій, а статичний поліморфізм …

5
Перевантаження операторів доступу членів ->,. *
Я розумію , більшість перевантаження операторів, за винятком операторів доступу члена ->, .*, і ->*т.д. Зокрема, що передається цим операторським функціям, а що потрібно повернути? Як функція оператора (наприклад operator->(...)) знає, до якого члена відноситься? Чи може це знати? Це навіть потрібно знати? Нарешті, чи є якісь міркування щодо суперечності, …


4
Коли зробити тип нерухливим в C ++ 11?
Я був здивований, що це не з’явилося в моїх результатах пошуку, я думав, що хтось би це запитував раніше, враховуючи корисність семантики переміщення в C ++ 11: Коли я повинен (або мені це подобається) зробити клас нерухливим на C ++ 11? ( Інші причини, ніж проблеми сумісності з існуючим кодом, …

10
Правильне використання стека та купи в C ++?
Я певний час програмував, але це були переважно Java та C #. Мені ніколи насправді не довелося самостійно керувати пам’яттю. Нещодавно я почав програмувати на C ++, і я трохи розгублений, коли мені потрібно зберігати речі на стеці та коли зберігати їх у купі. Я розумію, що змінні, до яких …

3
Які реалізовані програми C ++ Smart Pointer доступні?
Порівняння, плюси, мінуси та коли їх використовувати? Це відкрутка від потоку збору сміття, де, на мою думку, це була проста відповідь, було створено багато коментарів щодо деяких конкретних реалізацій розумних покажчиків, тому, здавалося, варто почати нову публікацію. Зрештою, питання полягає в тому, які існують інтелектуальні покажчики в C ++ там …

4
Як перетворити число в рядок і навпаки в C ++
Оскільки це запитання задається щотижня, цей FAQ може допомогти багатьом користувачам. Як перетворити ціле число в рядок в C ++ як перетворити рядок у ціле число в C ++ як перетворити число з плаваючою комою в рядок у C ++ як перетворити рядок у число з плаваючою комою в C …

8
Чому в заголовку вбудовані функції C ++?
Примітка. Це не питання про те, як використовувати вбудовані функції або як вони працюють, більше чому вони зроблені так, як є. Декларація функції члена класу не потребує визначення функції як inline, а лише реальна реалізація функції. Наприклад, у файлі заголовка: struct foo{ void bar(); // no need to define this …

4
Як перевантажити std :: swap ()
std::swap()використовується багатьма контейнерами std (наприклад, std::listта std::vector) під час сортування та рівномірного призначення. Але реалізація std swap()дуже узагальнена і досить неефективна для користувацьких типів. Таким чином, ефективність може бути досягнута шляхом перевантаження std::swap()за допомогою конкретного типу. Але як це можна реалізувати, щоб його використовували контейнери std?

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