почему явным образом удаляю конструктор?
Еще одна причина: я использую delete
, когда хочу заверить, что класс вызывается с инициализатором. Я считаю это очень изящным способом достижения этого без проверок времени выполнения.
Компилятор C ++ делает это для вас.
class Foo
{
public:
Foo() = delete;
Foo(int bar) : m_bar(bar) {};
private:
int m_bar;
}
Это - очень упрощено - код гарантирует, что такого экземпляра не существует: Foo foo;
Несмотря на специальный оператор +=
для конкатенации, существует более простой способ пойти:
foo='Hello'
foo=$foo' World'
echo $foo
Двойные кавычки занимают дополнительное время вычисления для интерпретации переменных внутри, избегают его, если это возможно.