Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

10
События Qt и сигналы / слоты
В мире Qt в чем разница событий и сигналов / слотов? Одно заменяет другое? События - это абстракция сигналов / слотов?
97 c++  qt 

3
Когда использовать инициализатор в фигурных скобках?
В C ++ 11 у нас есть новый синтаксис для инициализации классов, который дает нам большое количество возможностей для инициализации переменных. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; …

3
<cstdint> против <stdint.h>
В чем разница между stdint.hи cstdint? Оба они доступны в MSVC (Visual Studio 2010) и gcc-4.5.1. Также оба определяют intX_t/ uintX_tтипы (где Xразмер в байтах типа). Если обоснование в обоих заголовках одинаково (переносимые типы), какие решения я должен принять, чтобы выбрать тот или другой? В stdint.hопределяет каждый тип без какого-либо …
97 c++  stdint  cstdint 


1
Что означает термин «свободная функция» в C ++?
Читая документацию по boost :: test, я натолкнулся на термин «бесплатная функция». Я понимаю, что бесплатная функция - это любая функция, которая ничего не возвращает (ее тип возврата - void). Но после прочтения кажется, что бесплатные функции также не принимают никаких аргументов. Но я не уверен. Это все мои предположения. …
97 c++ 


4
Передаются ли векторы функциям по значению или по ссылке в C ++
Я кодирую на C ++. Если у меня есть какая-то функция void foo(vector&lt;int&gt; test)и я вызываю ее в своей программе, будет ли вектор передан по значению или ссылке? Я не уверен, потому что знаю, что векторы и массивы похожи, и что функция вроде void bar(int test[])бы проходит тест по ссылке …
97 c++  arrays  vector 

2
Реализация лямбда-выражения C ++ 11 и модель памяти
Мне хотелось бы получить некоторую информацию о том, как правильно думать о замыканиях std::functionв C ++ 11, о том, как они реализованы и как обрабатывается память. Хотя я не верю в преждевременную оптимизацию, у меня есть привычка тщательно учитывать влияние моего выбора на производительность при написании нового кода. Я также …
97 c++  memory  lambda  c++11 

5
Как виртуальное наследование решает «ромбовидную» (множественное наследование) неоднозначность?
class A { public: void eat(){ cout&lt;&lt;"A";} }; class B: virtual public A { public: void eat(){ cout&lt;&lt;"B";} }; class C: virtual public A { public: void eat(){ cout&lt;&lt;"C";} }; class D: public B,C { public: void eat(){ cout&lt;&lt;"D";} }; int main(){ A *a = new D(); a-&gt;eat(); } Я …

13
Распутывание результата std :: type_info :: name
В настоящее время я работаю над некоторым кодом регистрации, который должен, среди прочего, печатать информацию о вызывающей функции. Это должно быть относительно просто, стандартный C ++ имеет type_infoкласс. Он содержит имя typeid'd класса / функции / и т. Д. но это искалечено. Это не очень полезно. Т.е. typeid(std::vector&lt;int&gt;).name()возвращается St6vectorIiSaIiEE. Есть …
97 c++  gcc  name-mangling 

7
Как узнать, где в C ++ возникло исключение?
У меня есть программа, которая где-то выдает неперехваченное исключение. Все, что я получаю, это отчет о возникшем исключении и никакой информации о том, где оно было создано. Кажется нелогичным, если программа, скомпилированная с использованием символов отладки, не уведомляет меня о том, где в моем коде было сгенерировано исключение. Есть ли …

4
Как проверить тип параметра шаблона?
Предположим, у меня есть шаблонная функция и два класса class animal { } class person { } template&lt;class T&gt; void foo() { if (T is animal) { kill(); } } Как мне проверить, является ли T животное? Я не хочу, чтобы что-то проверяло во время выполнения. Благодарность
97 c++  templates 

7
Как передать std :: unique_ptr в функцию
Как передать std::unique_ptrв функцию? Допустим, у меня есть следующий класс: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Следующее не компилируется: void MyFunc(unique_ptr&lt;A&gt; arg) { cout &lt;&lt; arg-&gt;GetVal() &lt;&lt; endl; } int main(int argc, char* argv[]) { …
97 c++  c++11  unique-ptr 

1
ошибка: аргумент по умолчанию указан для параметра 1
Я получаю это сообщение об ошибке с приведенным ниже кодом: class Money { public: Money(float amount, int moneyType); string asString(bool shortVersion=true); private: float amount; int moneyType; }; Сначала я подумал, что параметры по умолчанию не разрешены в качестве первого параметра в C ++, но разрешены.

9
Как работает метод main () в C?
Я знаю, что есть две разные подписи для написания основного метода - int main() { //Code } или для обработки аргумента командной строки мы пишем его как- int main(int argc, char * argv[]) { //code } В C++Я знаю , что мы можем перегрузить метод, но Cкак компилятор обрабатывать эти …
96 c++  c 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.