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

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



5
Продлевает ли член класса Const Reference временный срок?
Почему это: #include <string> #include <iostream> using namespace std; class Sandbox { public: Sandbox(const string& n) : member(n) {} const string& member; }; int main() { Sandbox sandbox(string("four")); cout << "The answer is: " << sandbox.member << endl; return 0; } Дайте вывод: Ответ: Вместо того: Ответ: четыре

13
В C ++ я плачу за то, что не ем?
Давайте рассмотрим следующие примеры hello world на C и C ++: main.c #include <stdio.h> int main() { printf("Hello world\n"); return 0; } main.cpp #include <iostream> int main() { std::cout<<"Hello world"<<std::endl; return 0; } Когда я компилирую их в godbolt для сборки, размер кода C составляет всего 9 строк ( gcc …
170 c++  c 


5
Как я могу надежно получить адрес объекта, когда оператор & перегружен?
Рассмотрим следующую программу: struct ghost { // ghosts like to pretend that they don't exist ghost* operator&() const volatile { return 0; } }; int main() { ghost clyde; ghost* clydes_address = &clyde; // darn; that's not clyde's address :'( } Как я могу получить clydeадрес? Я ищу решение, которое …

6
С ++ 11, 14, 17 или 20 вводит стандартную константу для пи?
Существует довольно глупая проблема с числом пи в C и C ++. Насколько я знаю, M_PIопределено в math.hне требуется ни одного стандарта. Новые стандарты C ++ ввел много сложных математических в стандартной библиотеке - гиперболических функций, std::hermiteи std::cyl_bessel_i, различных генераторов случайных чисел и так далее , и так далее. Приносил …

15
Что значит void в C, C ++ и C #?
Ищите основы того, откуда взялся термин « пустота », и почему он называется пустым. Цель этого вопроса - помочь кому-то, у кого нет опыта работы с C, и он вдруг смотрит на кодовую базу на основе C.

6
Использование универсальных объектов std :: function с функциями-членами в одном классе
Для одного класса я хочу сохранить несколько указателей на функции-члены одного класса в одном mapобъекте хранения std::function. Но я терплю неудачу в самом начале с этим кодом: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; Я получаю error C2064: term …

8
Разделение кода класса на заголовок и файл cpp
Я запутался в том, как разделить код реализации и объявлений простого класса на новый заголовок и файл cpp. Например, как бы я отделил код для следующего класса? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy = y; } int getSum() { …
170 c++  oop  class 


4
Должен ли я добавить файлы .vcxproj.filter в систему контроля версий?
Оценивая Visual Studio 2010 Beta 2, я вижу, что в преобразованном каталоге мои файлы vcproj стали файлами vcxproj . Кроме того, в каждом проекте есть файлы vcxproj.filter, которые содержат описание структуры папок (\ Source Files, \ Header Files и т. Д.). Как вы думаете, эти файлы фильтров должны храниться для …

1
Быстрый метод округления двойного к 32-битному int объяснил
Читая исходный код Lua , я заметил, что Lua использует macroокругление doubleдо 32-разрядного числа int. Я извлек macro, и это выглядит так: union i_cast {double d; int i[2]}; #define double2int(i, d, t) \ {volatile union i_cast u; u.d = (d) + 6755399441055744.0; \ (i) = (t)u.i[ENDIANLOC];} Здесь ENDIANLOCопределяется как endianness …


2
функция обмена друзей
В прекрасном ответе на идиому copy-and-swap- a есть фрагмент кода, который мне нужно немного помочь: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; и он добавляет записку Существуют и другие утверждения, что мы …

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