Вопросы по теме 'effective-c++'
Правило 23. Эффективный C++. Предпочтение функциям, не являющимся членами, не дружественным функциям, а не функциям-членам.
Размышляя над некоторыми фактами о дизайне классов, в частности над тем, должны ли функции быть членами или нет, я заглянул в «Эффективный c++» и нашел пункт 23, а именно: «Предпочитайте функции, не являющиеся членами, и не являющиеся друзьями, а не...
14524 просмотров
schedule
27.04.2023
Почему 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 просмотров
schedule
12.05.2023
Вывод типов
Я пытаюсь понять вывод типов, просматривая «Эффективный современный 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