Форум программистов, компьютерный форум CyberForum.ru

Какие ошибки допущены при проектировании класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как симулировать нажатие клавиш? http://www.cyberforum.ru/cpp-beginners/thread1234844.html
как в c++ симулировать нажатие клавиш?
C++ Структура приложения Клиент-сервер как в c++ будет выглядеть код, который на java выглядит так SERVER: Socket socket = new ServerSocket(34323, 5, null).accept(); InputStream sin = socket.getInputStream(); OutputStream sout = socket.getOutputStream(); DataInputStream in = new DataInputStream(sin); DataOutputStream out = new DataOutputStream(sout); CLIENT: http://www.cyberforum.ru/cpp-beginners/thread1234843.html
Какие есть GUI библиотеки для c++ C++
какие есть GUI библиотеки для c++, они вообще есть?
Какие есть компиляторы c++ без изменения синтаксиса C++
какие есть компиляторы c++ без изменения синтаксиса?
C++ Какую ide лучше использовать для c++ http://www.cyberforum.ru/cpp-beginners/thread1234833.html
какой ide лучше использовать для c++?
C++ Убрать консоль при запуске программы как сделать так чтобы при запуске программы на c++ не открывалась консоль? подробнее

Показать сообщение отдельно
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
27.07.2014, 16:22     Какие ошибки допущены при проектировании класса
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
по моему ты сейчас кивнул в мою сторону.
Это ты зря так думаешь.

Собственно не понятно как твой код демонстрирует мою неправоту. Одно дело, когда логика программы каким-либо образом завязана на нулевой указатель, другое дело, когда нет. Да и ты не ответил, как именно такая проверка поможет найти битый пойнтер. Мы и с проверкой и без - все равно войдем в этот if, так как любой ненулевой указатель приводится к true. А последний твой код совсем о другом, как бы, ведь там есть else, который уже подразумевает какое-то кастомное действие, но речь шла не о том первоначально.

Очень много я встречал довольно таки опытных программеров, которые имели такую привычку, проверять на ноль перед delete, и никто так и не смог внятно объяснить зачем они это делают. Самый достойный вариант был о том, что в 89 году был компилятор, который такое не допускал, а вот привычка с тех пор осталась.

Собственно, 5.3.5/2.
In the first alternative (delete object), the value of the operand of delete may be a null pointer
value
, a pointer to a non-array object created by a previous new-expression, or a pointer to a subobject (1.8)
representing a base class of such an object (Clause 10). If not, the behavior is undefined. In the second
alternative (delete array), the value of the operand of delete may be a null pointer value or a pointer
value that resulted from a previous array new-expression.
 
Текущее время: 11:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru