- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
class fileOutStream : public ostream
{
public:
/* ... */
virtual inline int printf( const char * fpFormat, ... )
{
/* ... */
}
/* ... */
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1003
class fileOutStream : public ostream
{
public:
/* ... */
virtual inline int printf( const char * fpFormat, ... )
{
/* ... */
}
/* ... */
}
virtual inline метод.
defecate-plusplus 08.02.2012 21:22 # 0
а вот printf действительно нужен? насколько он безопасно реализован?
Говногость 08.02.2012 22:13 # 0
По элипсису видно насколько он безопасно реализован. Но думается мне, что всё ещё хуже.
defecate-plusplus 08.02.2012 22:36 # 0
ну то, что в аргументы обязательно придется передавать POD, даже не обсуждалось
просто раз это какбе "fileOut", то, надеюсь, внутри использован vfprintf в файл, а не vsprintf в промежуточный буфер, размера которого никогда не хватит
Говногость 08.02.2012 22:17 # −1
А велосипедист реализовал точно такой же велосипед и добавил новую наклейку.
>/* ... */
Велосипедист хоть догадался заюзать стандартный printf или всё по честному с нуля?
absolut 08.02.2012 22:35 # +1
Только потоки, только хардкор! Это ж плюсы.
Dummy00001 08.02.2012 23:21 # 0
TheCalligrapher 13.02.2012 22:16 # 0
guest 14.02.2012 09:58 # 0
тут не используется стандартная функция, а пишется кривая обертка над функцией
видимо это имел ввиду гг
TheCalligrapher 14.02.2012 20:52 # 0
Каким образом вообще можно делать такие далеко идущие выводы из одной декларации?
TheCalligrapher 13.02.2012 22:04 # +2
"Виртульность" функции влияет лишь на "виртуальные" ее вызовы, т.е. на вызовы, которые разрешаются динамически, с учетом динамического типа объекта. "Инлайновость" функции влияет лишь на "невиртуальные" ее вызовы, т.е. вызовы которые разрешаются статически, с учетом статического типа объекта. В результате эти два свойства - виртаульность и инлайновость - никак друг с другом не пересекаются и никак друг другу не мешают.