gug-bg-herd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ключовата дума „онуй“ в C++


From: Yavor Doganov
Subject: Ключовата дума „онуй“ в C++
Date: Sun, 24 Dec 2023 22:57:44 +0200
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

Здравейте,

За голямо мое съжаление, напоследък ми се налага да редактирам код на
C-пляс-пляс.  Познанията ми за този язык са твърде оскъдни [1] и ми е
страшно трудно, а наскоро попаднах на новото за мен „онуй“ (that).
Горе-долу ми е ясно какво е туй „туй“ (this), но туй „онуй“ (that)
виждам за пръв път.  Ето пример от пакета trafficserver, на който се
натъкнах, докато се опитвам да разреша #999938 [2] в Дебиан:

В include/tscore/Regex.h е декларирано:

class Regex
{
public:
...
  Regex()              = default; // Конструкторот, но нема дефиниция.
  Regex(Regex const &) = delete; // No copying.  // Копи-конструкторот?
  Regex(Regex &&that) noexcept;  // Що е това?
  ~Regex(); // Деструкторот.
...
private:
  pcre *regex                = nullptr;
  pcre_extra *regex_extra    = nullptr;
};

А дефиницията на метода в src/tscore/Regex.cc е:

Regex::Regex(Regex &&that) noexcept : regex(that.regex), 
regex_extra(that.regex_extra)
{
  that.regex       = nullptr;
  that.regex_extra = nullptr;
}

Какво прави този метод и каква е ролята на туй „онуй“ (that)?  Emacs
не оцветява тази дума, така че това или е нещо съвсем ново, или въобще
не е ключова дума, а приумица на авторите на trafficserver.  При
всички случаи бих искал да знам за какво става въпрос.

Благодаря предварително!

[1] Даже бих казал, че човек с моите „познания“ и чиста съвест не би
    се докоснал до такъв код, за да не го окепази, но аз не съм с
    чиста съвест и освен това смятам, че C++ е окепазен по презумпция.
[2] https://bugs.debian.org/999938



reply via email to

[Prev in Thread] Current Thread [Next in Thread]