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

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

4
Різниця між спільними об'єктами (.so), статичними бібліотеками (.a) та DLL (.so)?
Я брав участь у дебатах щодо бібліотек в Linux, і хотів би підтвердити деякі речі. Наскільки я розумію (будь ласка, виправте мене, якщо я помиляюся, і я відредагую свою публікацію пізніше), є два способи використання бібліотек під час створення програми: Статичні бібліотеки (файли .a): під час посилання копія всієї бібліотеки …
272 c++  c  linux  dll  linker 


1
Як "int main () {(([] () {}) ());}" дійсний C ++?
Нещодавно я натрапив на наступний езотеричний фрагмент коду. int main(){(([](){})());} Переформатуйте його наступним чином, щоб зробити його більш зрозумілим: int main(){ (([](){})()); // Um... what?!?! } Але я не можу опустити голову як (([](){})()) діє код. Це не схоже на синтаксис вказівника функції. Це не може бути трюком перевантаження оператора. …
271 c++  c++11  lambda  syntax 



10
Чи слід передавати shared_ptr за посиланням або за значенням?
Коли функція приймає shared_ptr(від boost або C ++ 11 STL), ви передаєте її: за посиланням const: void foo(const shared_ptr<T>& p) або за значенням void foo(shared_ptr<T> p):? Я вважаю за краще перший метод, тому що я підозрюю, що це буде швидше. Але чи справді цього варто чи є додаткові питання? Скажіть, …
270 c++  c++11  boost  shared-ptr 

16
Чому C ++ не має сміттєзбірника?
Я не задаю цього питання через переваги перевезення сміття насамперед. Моя основна причина запитати це те, що я знаю, що Б'ярн Струструп сказав, що C ++ в якийсь момент матиме сміттєзбірник. З урахуванням сказаного, чому це не було додано? Вже є кілька сміттєзбірників для C ++. Це лише одна з …

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

23
Як отримати каталог, з якого працює програма?
Чи існує платформово-агностичний та файлосистемно-агностичний метод для отримання повного шляху до каталогу, звідки працює програма за допомогою C / C ++? Не плутати з поточним робочим каталогом. (Будь ласка, не пропонуйте бібліотеки, якщо вони не є стандартними, як clib або STL.) (Якщо немає платформного / файлово-агностичного методу, також вітаються пропозиції, …
269 c++  c  working-directory 


11
Чому f (i = -1, i = -1) невизначена поведінка?
Я читав про порядок порушень оцінювання , і вони дають приклад, який мене спантеличує. 1) Якщо побічний ефект на скалярний об'єкт не є послідовним щодо іншого побічного ефекту на той же скалярний об'єкт, поведінка не визначена. // snip f(i = -1, i = -1); // undefined behavior У цьому контексті …

14
Як закінчити код C ++
Я хотів би, щоб мій код C ++ припинив роботу, якщо виконано певну умову, але я не знаю, як це зробити. Тож у будь-який момент, якщо ifтвердження є істинним, скасуйте такий код: if (x==1) { kill code; }
267 c++ 


30
Як уникнути ланцюгів "якщо"?
Припустимо, що у мене є цей псевдо-код: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Функції executeStepXслід виконувати, якщо і лише в тому випадку, коли попередній успіх. У будь-якому випадку executeThisFunctionInAnyCaseфункцію слід викликати наприкінці. Я …

6
Декларування змінних всередині циклів, належна практика чи погана практика?
Питання №1: Чи є оголошення змінної всередині циклу доброю практикою чи поганою практикою? Я читав інші теми про те, чи існує проблема з продуктивністю (більшість сказаних "ні"), і що ви завжди повинні оголошувати змінні якомога ближче до того, де вони будуть використовуватися. Мені цікаво, чи слід цього уникати чи ні, …

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