При использовании PHP 5 можно также попробовать
$oDate = new DateTime($row->createdate);
$sDate = $oDate->format("Y-m-d H:i:s");
delete [] array;
иногда может стать
delete array;
в руках того, кто не знает. Отслеживание этой ошибки может ужасно отстой, и этого не происходит, когда вы выполняете malloc и free.
Переполнение буфера должно быть самой опасной вещью как в C, так и в C ++. Это также причина того, что Microsoft объявила о добавлении memcpy () в свой список запрещенных функций
множественное наследование - еще одно
Новички легко могут пропустить требование виртуального деструктора (хотя я думаю, что большинство компиляторов достаточно умны, чтобы указать на это).
Я передал this вспомогательной функции в другом объекте из конструктора. Вспомогательная функция добавила указатель к списку объектов, которые она обслуживала. Конечно, после того, как конструктор завершил работу и возвратился, объект находился в совершенно другом месте в памяти, и указатель, хранящийся в другом объекте, больше не действовал. Ура!
Перегрузка оператора . Очень легко усложнить понимание происходящего. Даже опытным разработчикам C ++ легко не заметить тот факт, что происходит перегрузка.
Я бы сказал автоматическое преобразование типов. C ++ может создавать временные переменные неинтуитивно с помощью автоматического преобразования типов.
Его реализация обработки исключений позволяет легко устранить утечки памяти.
Вероятно, самый опасный аспект C ++, которого нет в C, - это возможность переопределять операторы для сложных типов. Например, может быть очень легко произвести сложение вычитанием (и наоборот).
Глупо, что кто-то сделает это, но это можно сделать. Делает это опасным.
Меня всегда интересовала эта цитата. Я не могу придумать, каким образом C ++ более опасен, чем C.
В любом случае, я должен сказать, что самая опасная «особенность» заключается в том, что ничто не мешает вам получить доступ нераспределенная память. Это ошибка, которую практически невозможно отладить, она вызывает всевозможные случайные действия, от сбоев до полного отсутствия ошибок и просто странного поведения.
Если вы собираетесь сравнивать безопасность C ++ и C, то вы упустили суть этой фразы. C ++, возможно, не безопаснее C.
Где действительно можно провести сравнение, так это с таким языком, как Java. По сути, Java обрабатывает вашу память за вас, поэтому вы не столкнетесь с неопределенным поведением при вызове памяти вне той памяти, которую ваша программа в настоящее время использует (выход за пределы массивов и т. Д.).
Чтобы ответить на ваш вопрос однако худшее, что со мной случилось, - это переполнение буфера, чтобы переопределить мой собственный пароль (однако я сделал это специально).