Чем безымянные пространства имен превосходят staticключевое
Чем безымянные пространства имен превосходят staticключевое
Я знаю, что такое функторы и когда их использовать с stdалгоритмами, но я не понял, что Страуструп говорит о них в FAQ по C ++ 11 . Может ли кто-нибудь объяснить, что std::bindи std::functionесть, когда их следует использовать, и привести несколько примеров для...
Я понимаю , большинство перегрузки операторов, за исключением операторов доступа члена ->, .*, и ->*т.д. В частности, что передается этим операторным функциям, а что нужно возвращать? Как операторная функция (например operator->(...)) узнает, на какой член ссылается? Это может знать? Это...
Как я могу использовать библиотеку C ++ из
Я читал, что преобразование указателя функции в указатель данных и наоборот работает на большинстве платформ, но не гарантируется. Почему это так? Разве оба не должны быть просто адресами в основной памяти и, следовательно, быть...
Есть ли std::make_uniqueкакие-то преимущества эффективности std::make_shared? По сравнению с ручным строительством std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
В книге на C ++, которую я читал, говорится, что когда указатель удаляется с помощью deleteоператора, память в том месте, на которое он указывает, «освобождается» и может быть перезаписана. В нем также указано, что указатель будет продолжать указывать на то же место, пока он не будет переназначен...
Я видел этот пример в документации cppreference дляstd::numeric_limits #include <limits> #include <iostream> int main() { std::cout << "type\tlowest()\tmin()\t\tmax()\n\n"; std::cout << "uchar\t" << +std::numeric_limits<unsigned char>::lowest() << '\t'...
Проще говоря: У меня есть класс, который состоит в основном из статических общедоступных членов, поэтому я могу сгруппировать вместе похожие функции, которые по-прежнему необходимо вызывать из других классов / функций. В любом случае, я определил две статические переменные типа unsigned char в...
Это в основном вопрос, есть ли «правильный» способ реализации operator<<? Читая это, я вижу что-то вроде: friend bool operator<<(obj const& lhs, obj const& rhs); предпочтительнее чем-то вроде ostream& operator<<(obj const& rhs); Но я не совсем понимаю, почему я...
Я знаю, что компилятор иногда инициализирует память определенными шаблонами, такими как 0xCDи 0xDD. Я хочу знать, когда и почему это происходит. когда Это специфично для используемого компилятора? Так поступают malloc/newи free/deleteработают в этом отношении? Это зависит от платформы? Произойдет...
Как начинающему программисту на C ++, есть некоторые конструкции, которые мне кажутся очень непонятными, одна из них const. Вы можете использовать его во многих местах и с таким количеством различных эффектов, что новичку практически невозможно выйти живым. Сможет ли какой-нибудь гуру C ++...
Хорошо, info break перечисляет точки останова, но не в формате, который бы хорошо работал с их повторным использованием с помощью команды --command, как в этом вопросе . Есть ли у GDB способ снова сбросить их в файл, приемлемый для ввода? Иногда в сеансе отладки необходимо перезапустить GDB после...
Что лучше, списки смежности или матрица смежности для задач с графами в C ++? Каковы преимущества и недостатки
НАСКОЛЬКО МНЕ ИЗВЕСТНО: C ++ предоставляет три различных типа полиморфизма. Виртуальные функции Перегрузка имени функции Перегрузка оператора В дополнение к трем вышеупомянутым типам полиморфизма существуют и другие виды полиморфизма: во время выполнения время компиляции специальный полиморфизм...
Я нашел код с использованием std :: shared_ptr для произвольной очистки при завершении работы. Сначала я подумал, что этот код не может работать, но потом попробовал следующее: #include <memory> #include <iostream> #include <vector> class test { public: test() { std::cout <<...
Следующий код переходит в бесконечный цикл GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } Итак, дело в следующем: подписанное целочисленное...
У меня создалось впечатление, что доступ к unionчлену, отличному от последнего набора, - это UB, но я не могу найти надежную ссылку (кроме ответов, в которых утверждается, что это UB, но без какой-либо поддержки со стороны стандарта). Итак, это неопределенное...
Функция C ++ 11 std::move(x)вообще ничего не перемещает. Это просто приведение к значению r. Почему это было сделано? Разве это не
Согласно C ++ '03 Standard 2.3 / 1: Перед выполнением любой другой обработки каждое вхождение одной из следующих последовательностей из трех символов («триграфические последовательности») заменяется одним символом, указанным в таблице 1....