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

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

15
Шаблони C ++ - Turing-complete?
Мені кажуть, що система шаблонів у C ++ завершується Тьюрінгом під час компіляції. Про це йдеться у цій публікації, а також у вікіпедії . Чи можете ви надати нетривіальний приклад обчислення, що експлуатує цю властивість? Чи корисний цей факт на практиці?

9
Який переважний / ідіоматичний спосіб вставити у карту?
Я визначив чотири різні способи вставки елементів у std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Який із них є кращим / ідіоматичним? (А чи є інший спосіб, про який я не думав?)
111 c++  stl  insert  stdmap  std-pair 


4
Модулі C ++ - чому їх видалили з C ++ 0x? Чи повернуться вони згодом?
Я щойно відкрив цю стару С ++ 0x чернетку про модулі в C ++ 0x. Ідея полягала в тому, щоб вийти з поточної системи .h / .cpp, записавши лише файли .cpp, які потім створювалимуть файли модулів під час компіляції, які згодом будуть використовуватися іншими .cpp-файлами. Це виглядає як справді чудова …

2
Яке значення лексеми “……”? тобто оператор подвійного еліпсису в пакеті параметрів
Переглядаючи поточну реалізацію нових заголовків C ++ 11 gcc, я натрапив на маркер "......". Ви можете переконатись, що наступний код складається добре [через ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // this line is the important one { …



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

3
Яка принципова відмінність між MFC та ATL?
Якщо припустити, що я використовую їх лише для "звичайних" програм GUI (немає COM, немає ActiveX, нічого фантазійного), яка принципова різниця я побачу між ATL та MFC, щоб допомогти мені зрозуміти, яку з них використовувати? Я здійснив кілька пошукових запитів в Інтернеті, але в кінцевому підсумку жодна з відповідей не відповіла …
110 c++  visual-c++  mfc  atl 

8
Malloc vs new - різні накладки
Я переглядаю чужий код C ++ для нашого проекту, який використовує MPI для високопродуктивних обчислень (10 ^ 5 - 10 ^ 6 ядер). Код призначений для забезпечення зв'язку між (потенційно) різними машинами в різних архітектурах. Він написав коментар, який щось говорить: Ми зазвичай використовуємо newі delete, але тут я використовую …

30
У C / C ++ який найпростіший спосіб змінити порядок бітів у байті?
Хоча існує кілька способів повернути бітовий порядок у байті, мені цікаво, що саме "найпростіший" для розробника. І під реверсом я маю на увазі: 1110 -> 0111 0010 -> 0100 Це схоже на, але не дублікат цього питання щодо PHP. Це схоже на, але не дублікат цього C питання. Це запитання …
110 c++  c  bit-manipulation 

10
C / C ++ номер рядка
З метою налагодження чи можу я отримати номер рядка в компіляторах C / C ++? (стандартний спосіб або конкретні способи для певних компіляторів) напр if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation)

5
невизначена посилання на "WinMain @ 16"
Коли я намагаюся створити програму за допомогою Eclipse CDT, я отримую наступне: /mingw/lib/libmingw32.a(main.o):main.c:(.text+0x106): невизначене посилання на `WinMain @ 16 Чому так? І як я можу вирішити це питання?
110 c++  eclipse  eclipse-cdt 

11
Як видалити невикористані символи C / C ++ за допомогою GCC та ld?
Мені потрібно жорстко оптимізувати розмір мого виконуваного файлу ( ARMрозробка), і я помітив, що в моїй поточній схемі збірки ( gcc+ ld) невикористані символи не знімаються. Використання arm-strip --strip-unneededдля отриманих виконуваних файлів / бібліотек не змінює розмір виводу виконуваного файлу (я не маю поняття, чому, можливо, він просто не може) …
110 c++  c  gcc  ld  strip 

5
std :: next_permutation Пояснення реалізації
Мені було цікаво, як це std:next_permutationбуло реалізовано, тому я витягнув gnu libstdc++ 4.7версію і дезінфікував ідентифікатори та форматування для отримання наступних демонстрацій ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; …

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