Да, я бы сказал, что это действительно так плохо.
Он прерывает первую нормальную форму.
Вторая критика заключается в том, что ввод исходных результатов непосредственно в базу данных, без какой-либо проверки или привязки вообще, дает вам возможность открывать атаки SQL-инъекций.
То, что вы называете лень и отсутствие знаний SQL, - это материал, из которого сделаны неофиты. Я рекомендую потратить время, чтобы сделать это правильно, и рассмотреть его как возможность узнать.
Или оставьте это как есть и узнайте болезненный урок атаки SQL-инъекции.
Это какое-то неопределенное поведение с const_cast?
blockquote>Да, ваша программа содержит неопределенное поведение.
Это означает, что вы не можете ожидать каких-либо ожиданий на его выходе. Причина дается в параграфе 7.1.6.1/4 стандарта C ++ 11:
За исключением того, что любой член класса, объявленный
blockquote>mutable
(7.1.1), может быть изменен, любая попытка изменить объектconst
в течение его времени жизни (3.8) приводит к неопределенному поведениюВ параграфе 5.2.11 / 7 на
const_cast
содержится еще одно предупреждение:[ Примечание : в зависимости от типа объекта, операция записи через указатель, lvalue или указатель на элемент данных, полученный в результате
blockquote>const_cast
, который отбрасываетconst
-квитатор, может производить неопределенное поведение (7.1.6.1). - end note ]
const_cast
, чтобы отброситьconst
на то, что на самом деле не на самом делеconst
. Компилятор может свободно хранитьconst
объекты в ПЗУ или делать оптимизации, полагая, что они никогда не меняются (например, изменение, которое выдает печать, чтобы напечатать постоянное значение времени компиляции или что-то еще, что это похоже) – Yakk - Adam Nevraumont 12 May 2013 в 10:51