std::shared_ptr<ttt> sh1 = std::make_shared<ttt>();
std::weak_ptr<ttt> we = sh1;
{
std::shared_ptr<ttt> sh2 = sh1;
sh1 = nullptr;
}
std::cout << we.expired(); // должно быть true
var // ну или const
masMask: array[1..3, 1..3] of string = (
( '11', '12', '13' ), ( '21', '22', '23' ), ( '31', '32', '33' )
);
type TSomeTable = array[1..3, 1..3] of string;
const masStart: TSomeTable = …;
var masMask : TSomeTable;
masMask := masStart;
months = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec);
— это не массив! Это перечисляемый тип. Кстати, из-за правил пересечения идентификаторов очень не советую писать типы и перечисляемые константы без венгерской записи, к тому же название months сбивает с толку. Лучше будет TMonth = (monJan, monFeb, …);
. Examp ex = new Examp ();
Examp* ex = new Examp;
Examp ex2;
) — в той памяти, где обычно располагаются объекты. То есть:Examp* ex = new Examp;
) — в «куче».if (ref_count == 0)
— это мы сравниваем указатель с NULL! Написано «переписываем оператор равенства» — по факту переписываем операцию присваивания… Что ж, разберемся повнимательнее. Не так давно появились было в языке и быстро исчезли два слова «искож» и «кожимит». Первое означало «искусственная кожа», а второе — «имитация кожи». Слово «искож» в речи вообще не прижилось, тогда как кожимит существовало довольно долго (пока химия не завалила нас таким разнообразием «кожимитов», что им нет ни числа, ни названий). Думаю, победу кожимита в соревновании с искожей (или искожем?) обеспечило не только лучшее устройство морфологической формы <…> Видимо, чувствовалась и более высокая семантическая точность слова кожимит. Вот если бы человек своим искусством создал материал, который можно было бы приживить на место поврежденной естественной кожи, и этот материал функционировал бы так же, вот это была бы действительно искусственная кожа. <…> А раз этого нет, то это — кожимит.
Слова «имитация» и «искусственный» не всегда так строго различаются в нашей речи. Может быть, потому, что время всего искусственного и имитации всего, чего угодно, только еще начинается и мы еще недостаточно основательно разобрались в сложностях и тонкостях этого процесса? Говорят «искусственный мрамор» и «имитация мрамора», «искусственный дождь» и «имитация дождя». Это примерно одно и то же. Но вот вместо «искусственное орошение» нельзя сказать «имитация орошения». Получится, что никакого орошения нет, а создается только его видимость. То же самое «искусственный отбор» или «искусственный спутник». Так что имитация — это скорее подделка, видимость, обман. Имитируется лишь внешняя сторона явления, его сути имитация не отражает. Например, имитация бурной деятельности. Как видим, язык постепенно все четче разграничивает понятия искусственности и имитации.
Такое же разграничение стремится провести и автор между понятиями искусственный интеллект (искинт) и имитация интеллекта (интимит), считая, что искинт — название принципиально неверное и что есть смысл говорить лишь об имитинте.
В начале «Письма заложнику» Сент-Экзюпери есть образ: Лиссабон как мать — слабая, беззащитная, она верой в призрачное счастье пытается отвести от сына беду.
По-французски Лиссабон женского рода. Но по-русски... Не может же переводчик переименовать город, даже если это ему нужно позарез! И молодой переводчик в первой журнальной публикации выхода не нашел. Напечатано было так: «Лиссабон улыбался несколько вымученной улыбкой; так улыбаются матери, не получающие известий с фронта от сына и пытающиеся спасти его своей верой: "Мой сын жив, раз я улыбаюсь..." "Посмотрите, как я счастлив и спокоен, – говорил Лиссабон, – и хорошо освещен..." ...праздничный Лиссабон бросал вызов Европе: "Можно ли делать меня мишенью... Ведь я так беззащитен! ..."»
И образ пропал, он не убеждает. Ну, а как быть? Оказалось, вывернуться все-таки можно: «И столица улыбалась через силу... Столица Португалии словно говорила: "Смотрите, я так безмятежна, я такая мирная и светлая... Разве можно на меня напасть... я так беззащитна! "» Столица есть поблизости и в оригинале — и вот там по-русски без малейшего ущерба можно сказать Лиссабон.
Трудней было «выкрутиться» в «Маленьком принце». Вот появился прекрасный цветок, его нрав и поведение явно женские. По-французски la fleur женского рода. Мужской род здесь, хоть убейте, невозможен! Но поначалу нельзя прямо назвать цветок розой, принц этого еще не знает. И снова выручила замена: неведомая гостья, красавица. В таких случаях необходимо как-то схитрить, извернуться, чтобы сохранить главное.
class Test2 : public Test
{
private:
typedef Test Super;
public:
Test2& operator = (const Test& x);
};
Test2& Test2::operator = (const Test& x)
{
Super::operator = (x);
// придумай, что сделать с недостающими полями
return *this;
}