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

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

11
Чому я не можу використовувати значення float як параметр шаблону?
Коли я намагаюся використовувати floatяк параметр шаблону, компілятор кричить за цим кодом, при цьому intпрацює добре. Це тому, що я не можу використовувати floatяк параметр шаблону? #include<iostream> using namespace std; template <class T, T defaultValue> class GenericClass { private: T value; public: GenericClass() { value = defaultValue; } T returnVal() …

2
Що означає для структури даних "нав'язливою"?
Я бачив термін нав'язливий, який використовується для опису структур даних, таких як списки та стеки, але що це означає? Чи можете ви навести приклад коду нав'язливої ​​структури даних, і чим вона відрізняється від ненав'язливої? Крім того, навіщо робити це нав'язливим (або, не настирливим)? Які переваги? Які недоліки?

9
C ++ IDE для Mac (закрито)
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
120 c++  macos  ide 

2
Як працює std :: tie?
Я використовував, std::tieне задумуючись над цим. Це працює, тому я щойно прийняв це: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Але як працює ця чорна магія ? Як створюється тимчасова …
120 c++  c++11  tuples 

7
У ролях до int vs floor
Чи є різниця між цими: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Як я розумію, обидва випадки мають однаковий результат. Чи є різниця в складеному коді?
120 c++  c  floating-point 

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

4
додаткова помилка кваліфікації в C ++
У мене є функція члена, яка визначається наступним чином: Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString); Коли я компілюю джерело, я отримую: помилка: додаткова кваліфікація 'JSONDeserializer ::' у учасника 'ParseValue' Що це? Як видалити цю помилку?
120 c++  g++  compiler-errors 

13
друкувати стек виклику в C або C ++
Чи є спосіб скинути стек викликів у запущеному процесі на C або C ++ кожен раз, коли викликається певна функція? Я маю на увазі щось таке: void foo() { print_stack_trace(); // foo's body return } Де print_stack_traceпрацює аналогічно callerв Perl. Або щось подібне: int main (void) { // will print …
120 c++  c  linux  callstack 

22
Позиція найменш значущого біта, яка встановлена
Я шукаю ефективний спосіб визначити позицію найменш значущого біта, встановленого в цілому, наприклад, для 0x0FF0 це було б 4. Тривіальна реалізація така: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } Будь-які …


30
Продуктивність C ++ порівняно з Java / C #
Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі він не приймає нових відповідей чи взаємодій. Я розумію, що C / C ++ виробляє нативний код для роботи на певній архітектурі машини. І навпаки, такі мови, як Java та C #, …
119 c#  java  c++  performance  bytecode 



3
Чи має сенс використовувати вбудоване ключове слово з шаблонами?
Оскільки шаблони визначені в заголовках, і компілятор може визначити, чи вкладення функції вигідніше, чи має це сенс? Я чув, що сучасні компілятори краще знають, коли вбудувати функцію, і ігнорують inlineпідказку. редагувати: Я хотів би прийняти обидві відповіді, але це неможливо. Щоб закрити питання, я приймаю відповідь Френеля , тому що …
119 c++  templates  inline 

5
Чому потрійний оператор комами оцінює лише один вираз у справжньому випадку?
Зараз я навчаюсь C ++ із книгою C ++ Primer і однією з вправ у книзі є: Поясніть, що робить наступний вираз: someValue ? ++x, ++y : --x, --y Що ми знаємо? Ми знаємо, що потрійний оператор має вищий пріоритет, ніж оператор комами. З бінарними операторами це було досить просто …

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