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

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

1
Що означає термін "вільна функція" в C ++?
Читаючи документацію для boost :: test, я натрапив на термін "безкоштовна функція". Я розумію, що безкоштовна функція - це будь-яка функція, яка нічого не повертає (її тип повернення недійсний). Але після подальшого прочитання здається, що безкоштовні функції також не беруть аргументів. Але я не впевнений. Це все мої припущення. То …
95 c++ 

4
Який заголовок я повинен включити для `size_t`?
Згідно cppreference.com size_t визначається в декількох заголовках, а саме <cstddef> <cstdio> <cstring> <ctime> І, починаючи з C ++ 11, також у <cstdlib> <cwchar> Перш за все мені цікаво, чому це так. Хіба це не суперечить принципу СУХОСТІ ? Однак моє запитання: Який із наведених вище заголовків слід включити для використання …
95 c++  typedef 

4
Як оголосити std :: unique_ptr і яка від нього користь?
Я намагаюся зрозуміти, як це std::unique_ptrпрацює, і для цього знайшов цей документ. Автор починає з наступного прикладу: #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; unique_ptr<double> uptr2 (pd); // …
95 c++  pointers  std  unique-ptr 

12
Корпус C ++ проти структури
Чи є якась різниця між використанням a std::tupleта лише даних struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } З того, що я знайшов в Інтернеті, я виявив, що є дві основні відмінності: structє більш читабельним, тоді як tupleмає багато загальних функцій, які …
95 c++  struct  tuples 


6
Виправлення помилок сегментації в C ++
Я пишу крос-платформну програму C ++ для Windows та Unix. На стороні вікна код буде скомпільований і не виконає жодних проблем. На стороні Unix він буде скомпільований, однак, коли я намагаюся його запустити, я отримую помилку сегментації. Я спочатку здогадуюсь, що є проблема з покажчиками. Які хороші методології можна знайти …

4
Явна інстанціація шаблону - коли вона використовується?
Після кількох тижнів перерви, я намагаюся розширити та розширити свої знання про шаблони за допомогою книги Шаблони - Повне керівництво Девіда Вандеворда та Ніколая М. Жоуттіса, і те, що я намагаюся зрозуміти на даний момент, - це явна інстанціація шаблонів. . Я насправді не маю проблем з механізмом як таким, …
95 c++  templates 

2
Чи має цей код із розділу 36.3.6 четвертого видання “Мова програмування C ++” чітко визначену поведінку?
У розділі STL-подібних операцій 4-го випуску мови програмування на мові програмування C ++ Бьярна Струструпа такий код використовується як приклад ланцюжка :36.3.6 void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, …


17
У чому сенс покажчиків на функції?
У мене проблеми з переглядом корисності покажчиків на функції. Я думаю, це може бути корисним у деяких випадках (зрештою, вони існують), але я не можу подумати про випадок, коли краще або неминуче використовувати покажчик функції. Не могли б ви навести якийсь приклад хорошого використання покажчиків на функції (на C або …
94 c++  c  function  pointers  c++-faq 

2
Приклад генерації UUID за допомогою Boost у C ++
Я хочу генерувати лише випадкові UUID, оскільки для екземплярів у моїй програмі важливо мати унікальні ідентифікатори. Я вивчав Boost UUID , але мені не вдається згенерувати UUID, оскільки я не розумію, який клас і метод використовувати. Буду вдячний, якщо хтось зможе навести мені будь-який приклад, як цього досягти.
94 c++  boost  uuid  boost-uuid 

7
Чи можна розрізнити 0 і -0?
Я знаю, що цілі значення 0і -0по суті однакові. Але мені цікаво, чи можна їх розрізнити. Наприклад, як мені дізнатися, чи була призначена змінна -0? bool IsNegative(int num) { // How ? } int num = -0; int additinon = 5; num += (IsNegative(num)) ? -addition : addition; Чи значення, …

8
Поверніть об’єкт “NULL”, якщо результат пошуку не знайдено
Я досить новачок у C ++, тому я, як правило, займаюся дизайном з великою кількістю Java-ізмів. У будь-якому випадку, в Java, якби у мене був клас із методом 'search', який повертав би об'єкт Tіз Collection< T >відповідного певного параметра, я повертав би цей об'єкт, і якщо об'єкт не був знайдений …

2
Як повернути розумні вказівники (shared_ptr), за посиланням чи за значенням?
Скажімо, у мене є клас із методом, який повертає a shared_ptr. Які можливі переваги та недоліки повернення його за посиланням чи за вартістю? Дві можливі підказки: Раннє знищення об’єкта. Якщо я повертаю посилання shared_ptrby (const), лічильник посилань не збільшується, тому я ризикую видалити об'єкт, коли він виходить за межі області …

10
Як створити “пробіл” у структурі пам'яті класу C ++?
Питання У контексті низькорівневого вбудованого металу , я хотів би створити порожній простір в пам'яті, в структурі C ++ і без будь-якого імені, щоб заборонити користувачеві доступ до такого розташування пам'яті. Зараз я домігся цього, поставивши потворне uint32_t :96;бітове поле, яке зручно займе місце трьох слів, але воно викличе попередження …

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