Вопросы по теме 'effective-c++'

Правило 23. Эффективный C++. Предпочтение функциям, не являющимся членами, не дружественным функциям, а не функциям-членам.
Размышляя над некоторыми фактами о дизайне классов, в частности над тем, должны ли функции быть членами или нет, я заглянул в «Эффективный c++» и нашел пункт 23, а именно: «Предпочитайте функции, не являющиеся членами, и не являющиеся друзьями, а не...
14524 просмотров

Почему static_cast(*this) для базового класса создает временную копию?
Я читаю Effective C++ и наткнулся на этот пример: class Window { // base class public: virtual void onResize() { ... } // base onResize impl ... }; class SpecialWindow: public Window { //...
6025 просмотров
schedule 10.01.2023

Эффективный пример пункта 3 С++
Мой вопрос касается конкретного пункта (3) книги "Эффективный C++". В книге приведен этот пример, который я попытался воспроизвести как можно ближе к C++ 2010 года (включая iostream и строку): class TextBlock { public: const char&...
678 просмотров
schedule 04.11.2022

Почему я должен предпочесть явно типизированную идиому инициализатора явному заданию типа
Недавно я купил новую книгу «Эффективный современный C++» у Скотта Мейерса и читаю ее сейчас. Но я столкнулся с одной вещью, которая меня полностью раздражает. В пункте 5 Скотт говорит, что использование auto — отличная вещь. Он экономит ввод,...
2495 просмотров
schedule 08.06.2024

вызов функтора с использованием функции Object tr1::function‹›
Я пытаюсь реализовать пример кода книги Скотта Майера, пример касается вызова функтора через объект функции. заголовочный файл gameCharachter.h #ifndef GAMECHARACTER_H #define GAMECHARACTER_H #include <iostream> #include...
86 просмотров
schedule 22.09.2023

Как понять typedef в этом объявлении
Недавно я прочитал книгу Effective C++ , и в статье 35 есть объявление о typedef, которое меня смущает. class GameCharacter; // Question1: Why use forward declaration? int defaultHealthCalc(const GameCharacter& gc); class GameCharacter{...
968 просмотров

Вывод типов
Я пытаюсь понять вывод типов, просматривая «Эффективный современный C++» Скотта Мейера. Рассмотрим фрагмент кода ниже: template<typename T> void f(const T& param); // param is now a ref-to-const; paramType is const T& int x = 27;...
160 просмотров
schedule 14.02.2023

хранить новые объекты в интеллектуальных указателях в автономном выражении
Я просматривал статью 17 Эффективного C++ 3-го издания. В нем упоминается тот порядок, в котором выполняются аргументы для вызова функции: processWidget(std::tr1::shared_ptr<Widget> pw(new Widget), priority()); может быть: 1)...
39 просмотров
schedule 07.02.2023

О std::cout, зачем использовать extern вместо шаблона singleton
Я прочитал эффективный C++ , о котором упоминается в пункте 04 Избегайте проблем с порядком инициализации в единицах перевода, заменяя нелокальные статические объекты локальными статическими объектами. Я думаю, что «глобальный и...
258 просмотров
schedule 21.04.2022

Каким будет режим захвата лямбда по умолчанию через захват инициализации?
С лямбда-выражениями в С++ 11 мы можем установить режим захвата по умолчанию по значению/по ссылке, например. [=] / [&] , за которыми могут следовать явные захваты, по ссылке/по значению, для некоторых переменных, например....
212 просмотров
schedule 29.10.2022