c++

Я получаю сообщение об ошибке со следующим кодом на C++. Главная.cpp #include "file.h" int main() { int k = GetInteger(); return 0; } .h static int GetInteger(); .cpp #include "file.h" static int GetInteger() { return 1; } ошибка, которую я получаю: Error C2129: static function 'int GetI...

таким образом, следующий код делает 0 r = ((double) rand() / (RAND_MAX)) почему имея r = ((double) rand() / (RAND_MAX + 1)) сделать -1 не должно ли добавление одного к RAND_MAX сделать 1 Edit: я получал предупреждение: переполнение целого числа в выражении на этой линии, так что может быть проблем...

наш код включает в себя структуру POD (простая старая структура данных) (это базовая структура c++, в которой есть другие структуры и переменные POD, которые должны быть инициализированы в начале.) основываясь на том, что у меня есть читать кажется, что: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); ...

Я прочитал некоторые устаревшие коды: if ( 1 || !Foo() ) есть ли видимая причина, почему не писать: if ( !Foo() ) ...

в одном из проектов, над которыми я работаю, я вижу этот код struct Base { virtual ~Base() { } }; struct ClassX { bool isHoldingDerivedObj() const { return typeid(1 ? *m_basePtr : *m_basePtr) == typeid(Derived); } Base *m_basePtr; }; Я никогда не видел typeid использовать. Почему он делает это...

Я новичок в C / C++, поэтому у меня есть несколько вопросов о базовом типе: а) можете ли вы объяснить мне разницу между int64_t и long (long int)? В моем понимании, оба являются 64-битными целыми числами. Есть ли какая-то причина, чтобы выбрать один из них? b) я попытался найти определение int64_t в интер...

Я знаю, что целые числа без знака являются только положительными числами (и 0) и могут иметь двойное значение по сравнению с обычным int. Есть ли разница между int variable = 12; и: signed int variable = 12; когда и почему вы должны использовать ключевое слово со знаком? ...

struct A { ~A() = delete; }; int main() { new A{}; } это не удается скомпилировать с сообщением об ошибке: ошибка: использование удаленной функции ' A::~A()' новый A{}; Как я понимаю, я не уничтожаю объект, так почему он пытается вызвать деструктор? составлен с GCC 8.1.0 g++ ...

я наткнулся на такой код: line += addr & 0x3fULL; очевидно, что 'U' и ' L ' не являются шестнадцатеричными цифрами. Я предполагаю, что' ULL ' в конце этого шестнадцатеричного числового литерала означает "Unsigned Long Long" - я прав? (такого рода вещи очень трудно google) если так, то это какой-то су...

упал на на этой странице где автор говорит о стандартизация оператора "": решение комитета по стандартам C++ для стандартизация operator "" бывший.[ ..] о чем он говорит? Я не могу найти никакой информации об этом, и я не понимаю, что это может означать (перегрузка для постоянных строк? Или что-то бол...