- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#include <iostream>
#include <string>
int main(void)
{
char arr[] = "All's well that ends well";
std::string s(arr, 3000);
std::cout << s << std::endl;
return(0);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+20
#include <iostream>
#include <string>
int main(void)
{
char arr[] = "All's well that ends well";
std::string s(arr, 3000);
std::cout << s << std::endl;
return(0);
}
Первое что пришло на ум, когда смотрел конструкторы string.
Собирал: g++-4.5 -Wall -Wextra -pedantic-errors
ideone.com и liveworkspace.org фильтруют.
Начинается с "All's well that ends well", затем следует нолик, и затем мусор до 3000байт и 0x0A, который в endl.
Ничего некорректного не вижу.
http://pastebin.com/6UFmUdFs
В итого: конструктор не проверяющий соответствие длины массива на 'не более чем'.
Вот интересно, http://govnokod.ru/11604#comment151222 этот небось проверяет?
Ну у него сигнатура как бы string(const char * s, size_t n), потому и нет никакой возможности проверить.
ЕМНИП шаблонные конструкторы запилить нельзя, поэтому подобную проверку никак не реализовать.
ты про это?
http://ideone.com/4BHxK
большинство строковых констант и так заканчиваются нулем, а те, что не заканчиваются - пользователю самому виднее, сколько конкретно взять из массива (как было виднее ОП)
На наш завод привезли японский деревообрабатывающий станок. Приходит рабочий, берёт брусок вставляет его в станок, вжик, из станка выходит готовое изделие.
-Нихрена себе (сказал рабочий)
-А хули ты думал (сказал станок)
Берёт бревнышко потолще, вжиик, опять выходит изделие.
- Ну нихрена себе (сказал рабочий)
-А хули ты думал (сказал станок)
Берёт рельсу, крык....
-Ну нихрена себе (сказал станок)
-А хули ты думал (сказал рабочий)
Можно, только нужно заставить борманда сдать анализы.
На голодный желудок и майонезную баночку не возвращают.
http://ideone.com/a6fC0
Не нечитал.
Вам дают заряженный пистолет. У вас есть нога. Что же вам первое придет на ум?
Лол, а голова мне на что?
root@root:/usr/music/lyrics/aquarium/concerts/1980 - Аквариум и Майк# █
У меня 2 ноги, слава Богу.
Пистолет, тем более заряженный, в свои руки, по собственной воле не возьму, кто его знает
что на нём висит.
Вам дают заряженный пистолет. У вас есть чужая нога. Что же вам первое придет на ум?