Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/89: Рейтинг темы: голосов - 89, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144

Можно ли Конструктор и Деструктор вызывать как метод класса?

29.06.2019, 12:03. Показов 21982. Ответов 222
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно вопрос:
можно ли Конструктор и Деструктор вызывать вручную, как обычный метод класса?
Например, я хочу управлять очередностью вызовов. См. пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class FirstClass   
{
public:
    FirstClass()
    {
    }
};
 
class SecondClass : public FirstClass   
{
public:
    SecondClass()
    {
      // ...
 
      FirstClass ();  // А здесь его можно вызвать?  
    }
 };
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.06.2019, 12:03
Ответы с готовыми решениями:

Как правильно вызывать конструктор шаблонного класса?
Как правильно вызывать конструктор класса? template <class T> class A{ T *v; int dim; public: A(T *a,int n); }; ...

Можно ли явным образом вызывать деструктор?
Например. Имеется перегруженный в классе оператор присваивания: square_matrix square_matrix::operator= (square_matrix matrix) { if...

Конструктор и деструктор анонимного класса
Здравствуйте. Есть ли в С++ такая возможность? Очень нужна именно такая реализация класса, но если это невозможно, буду думать.

222
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 17:26
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Нету у них такой меры.
вот ссылка https://en.cppreference.com/w/... assignment
эти ребята (как и мы все кроме вас) до сих пор проверяют по адресу. Не верите? Смотрите:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct C
{
    std::unique_ptr<int[]> data;
    std::size_t size;
    // non-copy-and-swap assignment
    C& operator=(const C& other)
    {
        // check for self-assignment
        if(&other == this)//////////////////////////////////////// Fulcrum_013 ,  они там не знают того что вы можете показать!!!
            return *this;
        // reuse storage when possible
        if(size != other.size)
        {
            data.reset(new int[other.size]);
            size = other.size;
        }
        std::copy(&other.data[0], &other.data[0] + size, &data[0]);
        return *this;
    }
    // note: copy-and-swap would always cause a reallocation
};
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Я вам это показывал
Вы тут всем это показали и не раз. Но интересно, что в разделе остался единственный Троль такого размера. Экземпляр! Но всё хорошо в меру. Спрячьте инстанс и расслабьтесь.
Fulcrum_013, гробить такую тему, - не уважать время всех кто в ней высказался более или менее разумно, но полезно. Иной раз и не разумное высказывание придаёт теме объём, так как активирует контр аргументы.
Но ресурс вашего инстанса кончился. Желание и потенция не должны драться. Это может испортить характер.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 17:42
IGPIGP, Ну они вообще то не новизну объекта проверяют а то что не происходит присваивание самому себе. Им передали 2 ссылки. Объект ни по одной из них изменится за это время не может потому что они ничего не удаляют и не создают. Очевидно что в один и тот же момент времени по одному и тому же адресу находится может только один и тот же объект.
У нас же разговор о том новый ли объект или старый после того как он пересоздался по тому же адресу. Т.е. в разные моменты времени.

Добавлено через 6 минут
Т.е. эти ребятки не проверяют старый он или новый. Они проверяют что он тот же
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 17:42
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну они вообще то не новизну объекта проверяют
Новизна это ещё одна ваша фантазия. И комитетчики тут здорово на вас похожи. Они тоже видят новый объект. Но можно назвать корову трактором. Но доить всё едино - надо.
Жизнь всё ставит на места. Я вам показал как проверяется тождественность. Объект проверяет "Кто я?".
Fulcrum_013, похоже что бесполезно вам объяснять вещи любого уровня. Продолжать больше не стану. Может у кого-то найдётся немного желания вас покормить, но я больше не буду. За сим и покидаю ваше общество. Ибо сами вы не уйдёте, ясно же как день.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 18:10
Цитата Сообщение от IGPIGP Посмотреть сообщение
похоже что бесполезно вам объяснять вещи любого уровня.
Для того чтобы пытаться что то объяснять нужно сначала досканально разобраться в сути. А так же в сути того чем одна ситуация (к примеру сравнение в приведенном вами примере) отличается от другой ситуации которая обсуждается. Как бы в математике нет мнений. Есть четкая логика вещей которая существует независимо от мнений.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 19:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Как бы в математике нет мнений. Есть четкая логика вещей которая существует независимо от мнений.
В математике x=1 и 1=х идентичные суждения. Поэтому большинство (не все конечно) людей от математики не держат уровня абстракции. Абсолютно. Наш с вами диалог - яркое подтверждение.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для того чтобы пытаться что то объяснять нужно сначала досканально разобраться в сути.
Это хорошее заклинание когда вне аргументов. Оно подойдёт любой стороне. Но вы Fulcrum_013, не читаете оппонента и долбите своё пока вам уже под нос и с десятого раза не ткнут ваш очередной инстанс.
Я попробую ещё раз. Смотрите. Это поймёт и ребёнок.
Вопрос:
Будет ли объект после деинициализации (деструктором) и реинициализации (конструктором) тем же объектом что и был до этого с точки зрения программы.

1. Что такое объект? Свободные сочинения, включая стандарт оставим пока. Старое определение которое сводилось к типу и адресу нормально работают и сегодняшняя практика определения тождественности сводится к проверке этих условий.
Повторяю, можно придумать чертей что ещё, но если оно не идентифицируется это будет религиозная лирика.
2. Что такое инициализация?
Объект создаётся в две фазы: выделение памяти и её инициализация. После выделения памяти и регистрации (типизированный дескриптор или как-то ещё) в память записывается начальное состояние. То есть, конструктор отвечает за то, чтобы объект приобрёл начальное состояние в момент рождения и до любых обращений к нему клиентского кода.
Но является ли вторая фаза частью идентифицируюшей объект? Конечно нет. Состояние и объект нельзя смешивать без разрушения абстракции: объект.
Константы времени компиляции - статические члены и не могут идентифицировать объект. Константы времени выполнения - мягкий контракт с программистом и они легко переустанавливаются. Не нужно быть великим хакером, чтобы это показать.
Значит инициализация - установка начального состояния.
3. Что такое деинициализация? Инициализация связана с действием на окружение (захват ресурсов) и для нейтрализации данного действия (освобождения ресурсов) производится деинициализация.
И 2 и 3 не должны иметь никакого необратимого последействия на окружение иначе ломается RAII. Тут важно согласиться, что сделать то можно всё, но мы никогда ни чего не сможем обсудить исходя из логики абсолютного идиотизма. В океане ужасных возможностей С++ есть разумные пути и говорить имеет смысл только о них.

Теперь всё готово. После выделения мы уже имеем объект в не инициализированном состоянии, а после инициализации он готов к работе. Но после деинициализации не исчез объект. Тип и адрес и выделенная память по этому адресу остались прежними. Это тот же объект. Он не готов к работе и мы его повторно инициализируем. Он опять готов к работе. С точке зрения любого программного компонента это тот же объект.

Хотите назвать его новым? Но желания должны иметь механизмы реализации. Где вы собираетесь написать номер? Так чтобы оно не стало частью состояния. (переполнение которое чревато появлением двойников пока не рассматриваем, хотя тоже весело).

Для того чтобы реализовать эту "новизну" нужно менять язык. В том что есть не поддерживаются такие возможности. То что есть - просто и гениально, тип -абстракция уровня языка компилятора, а адрес предоставлен системой и он уникален. Собственно, если бы не полиморфизм, адреса было бы достаточно.

Разрушив простое и адекватное реализации определение мы получили историю о том как оно происходит в самых пространных выражениях. Пришьем её к проверке на самоприсвоение.

Возможно для многопоточности и неплохо было бы иметь идентификатор отражающий последовательность порождения, но в языке нет средств для её непосредственного выражения. Есть возможности (и они успешно используются) маркировки объектов номерами, хеширования и пр. Но это уровень состояния объект. Уровень абстракции объект так и остался ограничен типом и адресом и сделать с этим ни чего нельзя.
Но тут как и везде. Есть те кто понимает и такие как я.
Fulcrum_013, надеюсь, вам хватит терпения перечитать данный пост. Я намеренно сократил материал не касаясь ссылок на "старый" и "новый" объекты.

Тут не обсуждались также зависимые объекты, такие как те чье время жизни кем-то управляется. Смартпойнтеры с делетерами и пр. ужасти. Эта часть реальности никак не влияет на базовые понятия языка. В конце концов для осуществления правильной политики всегда можно предложить соответствующий механизм и то, что существующие не будут корректно работать не важно. Уровень библиотек в данном вопросе не тот уровень.

То есть, читать не много. Прочтите.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 19:32
Цитата Сообщение от IGPIGP Посмотреть сообщение
Будет ли объект после деинициализации (деструктором) и реинициализации (конструктором) тем же объектом что и был до этого с точки зрения программы.
Не будет. Потому что существование типизированных ссылок на объект между деинициализацией и повторной инициализацией - UB.

Добавлено через 54 секунды
Цитата Сообщение от IGPIGP Посмотреть сообщение
Тип и адрес и выделенная память по этому адресу остались прежними.
Точно так же может произойти и при высвобождении/выделении буфера.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
02.07.2019, 19:32
Цитата Сообщение от Undisputed Посмотреть сообщение
ну вот и прошлись по пунктам
с чем конкретно ты не согласен?
отлично.
вот так и нужно сразу же делать)

(8.1) the storage for the new object exactly overlays the storage location which the original object occupied, and
(8.2) the new object is of the same type as the original object (ignoring the top-level cv-qualifiers), and
(8.3) the type of the original object is not const-qualified, and, if a class type, does not contain any non-static data member whose type is const-qualified or a reference type, and
(8.4)the original object was a most derived object of type T and the new object is a most derived object of type T (that is, they are not base class subobjects).
пункты 8.1, 8.2, 8.4 нам не интересны.
потому что никак не затрагивают строение типа.

интересен пункт 8.3.

в нём говориться,
что если класс содержит не_статическое поле,
которое const или ссылка,
тогда воскрешать объект нельзя.

давай сначала разберемся с чем это связанно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
struct sample
{
    sample(const int s): v(s){}
    const int v;
};
 
int main()
{
    sample v(333);
 
    new(&v) sample(666); // <--- UB
}
на самом деле этот кейс связан с другим фундаментальным правилом:
нельзя изменять объект, который был рожден константным.

const object - an object whose type is const-qualified, or a non-mutable subobject of a const object. Such object cannot be modified: attempt to do so directly is a compile-time error, and attempt to do so indirectly (e.g., by modifying the const object through a reference or pointer to non-const type) results in undefined behavior.
пример:

C++
1
2
3
4
5
6
int main()
{
    const int = 333;
    int& ref = const_cast<int&>(int);
    ref = 666;  // <--- UB
}
компилятор, зная что раз константа, значит не изменится,
может использовать это знание для своих оптимизаций.

например, закэшировать значение константы где нибудь в регистре.
человек модифицировал ячейку памяти на стеке, но это не сработало,
потому что значение бралось с регистра, а не со стека.

в случае:
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct sample
{
    sample(const int s): v(s){}
    const int v;
};
 
int main()
{
    sample v(333);
 
    new(&v) sample(666); // <--- UB
}
происходит аналогичная попытка модифицировать константу.
не факт, что это сработает.
и каковы в итоге будут последствия.

ссылку нельзя перенаправить.
ссылку компилятор может реализовать её как type* const
и здесь всплывают те же самые проблемы как с изменением константы.

какой из этого можно сделать вывод?

воскрешать объекты с константными/ссылочными полями можно.
но осторожно: значения констант не должно измениться.



ладно, возвращаемся к нашим баранам.


Цитата Сообщение от Undisputed Посмотреть сообщение
А эти пункты как видно завязаны на реализацию объекта, в данном случае это std::string.
Не имея гарантий относительно внутреннего устройства std::string, ты не имеешь гарантий того что попадаешь под эти пункты.
если нет гарантий относительно устройства класса,
конечно нельзя быть уверенным в том,
что корректный код сегодня останется таковым завтра.

тут ты прав.


однако, отсутствие гарантий само по себе ещё не делает код некорректным.
ты всегда можешь взглянуть на описание класса строки,
и убедиться, что класс не содержит ничего противопоказанного.

std::string таких полей не содержит,
значит и UB нет никакого.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 19:39
Цитата Сообщение от IGPIGP Посмотреть сообщение
Fulcrum_013, надеюсь, вам хватит терпения перечитать данный пост.
Я не был искренен. Конечно не надеялся. Ну-да, бог с ним.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 19:40
Цитата Сообщение от IGPIGP Посмотреть сообщение
Но после деинициализации не исчез объект.
После деинициализации исчезает именно объект. Остается только буфер памяти. Обращение к нему как к объекту по типизированной ссылке - UB.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 19:50
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
После деинициализации исчезает именно объект.
У вас в голове. С точки зрения системы он на месте. Прочтите то что я написал. Там сбивчиво, без запятых и вопросительных знаков, но я в вас верю (шучу).
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 20:11
Цитата Сообщение от IGPIGP Посмотреть сообщение
С точки зрения системы он на месте
Нет никакой системы. Есть состояние памяти в каждый момент времени. То что остается в этой памяти после деинициализации объектом уже не является. В этом как раз и есть смысл деинициализации.

Добавлено через 8 минут
Точно так же после вызова delete сама память никуда не девается. Просто этот буфер заносится в список доступных для переиспользования и соответсвенно в любой момент времени может быть перезаписан другими данными.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 20:24
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Нет никакой системы.
Fulcrum_013, хорош. Пусть. Оставьте это. Всё образуется.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 20:24
Именно поэтому и следует отличать объект от буфера памяти в котором он живет.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 20:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Именно поэтому и следует отличать объект от буфера памяти в котором он живет.
Напишите код где вы сравниваете два объекта на предмет тождественности (определение указывают ли две ссылки на один и тот же объект). Покажите как вы реализуете эту гениальную фразу не в голове а средствами системы (которой нет). Это всё что мне следует вам написать.
0
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
02.07.2019, 20:36
Цитата Сообщение от hoggy Посмотреть сообщение
интересен пункт 8.3
Да, я почему-то думал ты без меня обратишь на это внимание т.к был уверен что ты в курсе про оптимизации относительно const.
Цитата Сообщение от hoggy Посмотреть сообщение
new(&v) sample(666); // <--- UB
а вот с этим не совсем согласен
UB должно быть в случае обращения к полю const int v;
и то зависит от того каким образом будет происходить это обращение

21.6.4 Pointer optimization barrier:
C++
1
2
3
4
5
6
struct X { const int n; };
X *p = new X{3};
const int a = p->n;
new (p) X{5}; // p does not point to new object (6.6.3) because X::n is const
const int b = p->n; // undefined behavior
const int c = std::launder(p)->n; // OK
То есть если работать с объектом используя адрес к которому применен std::launder, тогда все ок...
если нет барьера std::launder, тогда уже UB...

Цитата Сообщение от hoggy Посмотреть сообщение
однако, отсутствие гарантий само по себе ещё не делает код некорректным.
ты всегда можешь взглянуть на описание класса строки,
и убедиться, что класс не содержит ничего противопоказанного.
Я думал об этом но сомневаюсь что это правильный подход потому что все не так однозначно
Например тот же std::launder мы можем реализовать самостоятельно как то так:
C++
1
2
3
4
5
6
template<typename _Tp>
constexpr _Tp*
launder(_Tp* __p) noexcept
{
    return __p;
}
или просто скопипастить с компилятора его реализацию, которую затем добавим в пользовательскую функцию которую будем использовать вместо стандартного std::launder в коде выше.

но проблема будет в том что гарантии даны только для стандартного std::launder, но не любой аналогичной реализации...
поэтому думаю будет приблизительно та же проблема если полагаться на просмотр исходников std::string
потому что в рамках официального документа чего там находится в std::string мы не знаем
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 20:49
Цитата Сообщение от IGPIGP Посмотреть сообщение
Напишите код где вы сравниваете два объекта на предмет тождественности
Объекты на тождественность сравниваются в один и тот же момент времени. Здесь же вы пытаетесь распространить тоже самое на сравнение с прошлогодним снегом, которое само по себе сапоги в смяику.

Добавлено через 3 минуты
т.е. в первом случае сравнивают валидные ссылки. Вы же пытаетесь распространить это на сравнение валидной ссылки на новый объект со сылкой на деинициализированный. Но само наличие ссылки на деинициализированный объект - UB и такая ссылка не валидна.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 20:53
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Объекты на тождественность сравниваются в один и тот же момент времени.
Напишите код. Я хочу чтобы вы показали где нет системы, где она есть и как она сравнивает объекты. Остальное я уже понял. Что касается времени то можно представить ситуацию, когда вы получили ссылки на объект в разные моменты времени (но тут нужно немного воображения, - соберитесь). До и после. Вы считаете что они указывают на новый объект. Не смотря на то, что они получены для разных объектов. Итак ваш код должен зафиксировать тот факт что объект стал новым. Найдите способ которым система это сделает.
До сих пор системе не нужны были религиозные песнопения и танцы.
Код в студию.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 21:08
Цитата Сообщение от IGPIGP Посмотреть сообщение
Итак ваш код должен зафиксировать тот факт что объект стал новым. Найдите способ которым система это сделает.
Банально уничтожение ссылок на объект перед/при деинициализации. Все что оставляет ссылки на деинициализированный объект - UB.

Добавлено через 4 минуты
Именно поэтому какие то мансы в сторону определения старый/новый - сапоги в смятку.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.07.2019, 21:13
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Банально уничтожение ссылок на объект перед/при деинициализации. Все остальное - UB.
Я не просил этого. Напишите код. Вам секьенс диаграмму нарисовать? Ещё раз. Вы умеете говорить новый объект и старый объект . Отлично! Теперь, представьте 2 момента времени t1 и t2 где t2>t1. Не торопитесь и расслабьтесь. Теперь представьте себе что ваш код (поток управления, - организуйте цикл ожидания прикройтесь mutex'ом...) получает, соответственно ссылки r1 в момент t1 и r2 в момент t2. Вы можете сохранить любую информацию об объекте в каждый момент времени. Потом после t2 сравните и укажите какой новый а какой старый.
Теперь докажите, что "старый" и "новый" реализовано как аутентичная для данных объектов (да-да, - объектов, - они же разные по вашему) информация позволяющая вам реализовать данное определение. Иначе оно пустое с точки зрения программы.
ps программа не знает была ли реинициализация и пр. что есть в голове программиста (на деле и программист может этого не знать).
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.07.2019, 21:19
Цитата Сообщение от IGPIGP Посмотреть сообщение
соответственно ссылки r1в момент t1 и r2 в момент t2
В моменет T1 < Td < T2 происходит деинициализация объекта. соответсвенно все ссылки на него в любой момент времени > Td в том числе и в T2 не валидны. Соответсвенно и сравнивать нечего.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2019, 21:19

Зачем нужны конструктор и деструктор класса?
вот задание: Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти....

Дописать конструктор и деструктор для класса
Помогите пожалуйста написать конструктор копии и деструктор, а также вызвать их, чтобы деструктор выводил на экран &quot;работает&quot; ...

Для класса задать конструктор и деструктор
Ребята,нужна помощь в написании программы. Для класса задать конструктор(для выделения памяти,открытия файлов,задания начальных значений...

Конструктор (деструктор) у класса, не имеющего тип
Можно ли объявить и определить конструктор у класса, который не имеет тип? То есть у меня в программе всего 1 экземпляр этого класса,...

Создание класса с перегрузкой операторов конструктор и деструктор
Создать класс времени (Time) содержащий закрытую переменную-член хранящую целое значение времени интервала в секундах. Интерфейс класса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
180
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru