СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть

СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть (https://scbist.com/)
-   Интернет-технологии (https://scbist.com/internet-tehnologii/)
-   -   Программирование (https://scbist.com/internet-tehnologii/41487-programmirovanie.html)

Вы просматриваете версию для печати. Если вы хотите увидеть статью полностью - перейдите по ссылке

bsabsa 04.06.2015 18:43

Цитата:

Цитата:
Сообщение от Просто инженер АиТ Посмотреть сообщение
int*** A;
это что ?

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

Цитата:

надо потом будет с библиотекой STL думать.
STL интересная "тема". Если учитывать еще тот момент, что на разных платформах (ОС) реализуется по разному.

Просто инженер АиТ 05.06.2015 09:32

Цитата:

STL
- в принципе ничего особенного, всё достаточно просто! То, что сейчас есть в STL, на заре появления ПК и ОС DOS 6.22 приходилось писать самому, были собственные библиотеки коллекций, списков, быстрая сортировка и т.д.
С одной стороны здорово, что есть STL, с другой стороны, многие могут пользоваться ей, но не знать как она внутри устроена для более точного её использования.
Пишите свой софт, да прибудет с Вами радость творения! Удачи коллеги!
P.S. Чтобы самому написать?! Вот в чем вопрос!

Rafa 05.06.2015 13:02

[quot

Lamaks 05.06.2015 13:40

Цитата:

Сообщение от Rafa (Сообщение 254576)
Заново изобретать колесо глупо.

Тогда бы у нас не было столько открытий.
Я так и начал изучать программирование - мне не понравился калькулятор встроенный в Windows, когда я много вычислений делал. Качал аналоги, но "тут не то, тут не это", кнопки маленькие и т.п., в результате написал для себя калькулятор, размером с половину экрана для удобства.

Rafa 05.06.2015 13:41

[quot

Rafa 05.06.2015 18:16

****

bsabsa 05.06.2015 18:22

Цитата:

концепция с++ гласит о том , что не нужно знать как

реализованны методы класса , но нужно знать что они делают.
К STL я бы не стал относить данную концепцию.
Если попробуете переносить код с платформы на платформу - будет масса нюансов.

Цитата:

возле деструктора и функции void hgj() класса B,C ?
А чего хотели-то?

Rafa 05.06.2015 18:43

[quotфизм.

bsabsa 05.06.2015 19:19

Цитата:

проверить полиморфизм.
Если с некоторого класса в иерархии наследования метод стал виртуальным, то во всех производных от него классах он будет виртуальным, вне зависимости от того, указано ли ключевое слово virtual в классах наследниках.

С*с = new C ();
A*a = c;
a->hgj(); // Напечатает "class C"
B*b = c;
b->hgj(); // Напечатает "class C"

Это оно и есть полиморфизм.

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

С*с = new C ();
A*a = c;
B*b = c;

delete b; // Получится memory leak без virtual ~B - не будет вызываться ~C !!!!
// И все ОК при virtual ~B - ~C вызывается

Посмотрите вывод программы

P.S. Хотя в вашем примере вызов деструкторов будет правильный, так как ~A уже виртуальный.
А вот если вообще убрать virtual у ~, тогда будут утечки памяти.

Rafa 06.06.2015 12:58

[quot

Rafa 11.06.2015 18:12

о


Часовой пояс GMT +3, время: 07:49.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot


Яндекс.Метрика