LINUX.ORG.RU

Ответ на: комментарий от jtootf

жiрний пiнгвiнятко?

ты даже здесь умудрился допустить ошибку

для подчёркивания твоего жыра как раз :)

журнал гламур?

http://www.cs.chalmers.se/~rjmh/Papers/arrows.pdf

хотя тебе, пожалуй, журнал гламур будет полезней. больше понятных слов

по себе людей не судят, толстячок :)

чмонады свои можешь использовать ректально, я разрешаю, здесь же разговор идёт в контексте (знаешь такое слово? а понятие?) С++ и нет тут никаких стрелочек, а есть потоки и переопределённый оператор сдвига, очень жаль что твой моск не способен этого понять

shty ★★★★★
()

cout

fprint от лукавого.

elf
()

fprint, хотя когда-то чаще использовал cout

Be-LucK
()
Ответ на: комментарий от CARS

> здесь уже упоминали?

Ну почти, mono там в начале сего культурного обсуждения предлагал точканетовский Console::WriteLine :)

gizzka ★★
()
Ответ на: комментарий от elf

>>да и endl

Никогда не набираю endl, всегда пишу «\n»

и правильно: я специально делал замеры - endl очень сильно тормозит(почти в 10 раз)

anonymous
()
Ответ на: комментарий от cruxish

>> Когда пишу на C - printf, на C++ - cout. Странный вопрос.

Вот-вот. Плюсую. :)

Да, очевидно же :) хотя, судя по постановке вопроса, он был о с++

annulen ★★★★★
()
Ответ на: комментарий от elf

> Никогда не набираю endl, всегда пишу «\n»

fprint от лукавого.

«\n» от того же «лукавого», что и *printf.

cruxish ★★★★
()
Ответ на: комментарий от shty

Вот для этого надо есть лисп со своим format'ом и ~{~}.

bk_ ★★
()

Когда проверял последний раз разница в размере релизного hello world с printf и cout была килобайт 300 что в gcc, что в msvc. Предпочитаю вообще STL без явной нужды не трогать.

anonymous
()
Ответ на: комментарий от Reset

boost::format тоже не осилили? или вопрос обсуждался выше? (лень читать все)

Я всё понимаю, но юзать printf в коде на С++ в 21-ом веке, это как то совсем...

archimag ★★★
()
Ответ на: комментарий от archimag

Я всё понимаю, но юзать printf в коде на С++ в 21-ом веке, это как то совсем...

А ты точно не из этих

std::string hexdump(void* x, unsigned long len, unsigned int w)
{
	std::ostringstream osDump;
	std::ostringstream osNums;
	std::ostringstream osChars;
	std::string szPrevNums;
	bool bRepeated = false;
	unsigned long i;
	 
	for(i = 0; i <= len; i++)
	{
		if(i < len)
		{
			char c = (char)*((char*)x + i);
			unsigned int n = (unsigned int)*((unsigned char*)x + i);
			osNums << std::setbase(16) << std::setw(2) << std::setfill('0') << n << " ";
			if(((i % w) != w - 1) && ((i % w) % 8 == 7))
			osNums << "- ";
			osChars << (iscntrl(c) ? '.' : c);
		}
 
		if(osNums.str().compare(szPrevNums) == 0)
		{
			bRepeated = true;
			osNums.str("");
			osChars.str("");
			if(i == len - 1)
			osDump << "*" << std::endl;
			continue;
		}
 
		if(((i % w) == w - 1) || ((i == len) && (osNums.str().size() > 0)))
		{
			if(bRepeated)
			{
				osDump << "*" << std::endl;
				bRepeated = false;
			}
		osDump << std::setbase(16) << std::setw(8) << std::setfill('0') << (i - (i % w)) << "  "
		<< std::setfill(' ') << std::setiosflags(std::ios_base::left)
		<< std::setw(3 * w + ((w / 8) - 1) * 2) << osNums.str()
		<< " |" << osChars.str() << std::resetiosflags(std::ios_base::left) << "|" << std::endl;
		szPrevNums = osNums.str();
		osNums.str("");
		osChars.str("");
		}
	}
 
osDump << std::setbase(16) << std::setw(8) << std::setfill('0') << (i-1) << std::endl;
 
return osDump.str();
}

?

LamerOk ★★★★★
()
Ответ на: комментарий от archimag

Легко нагуглить. В жж какого-то перца, который описывал себя как former c++ hacker, подавшийся в разработчики на дотнете. ))

LamerOk ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Хороший пример, где на все 100% нужно пользоваться printf'ом :)

Есть две уважительный причины для использования printf в коде на С++: legacy и жёсткая оптимизация. А тут нужен boost::format, который удобней и безопасней, чем printf и совместим с потоками C++, что является черезвычайно важным.

archimag ★★★
()
Ответ на: комментарий от archimag

Честно говоря, когда-то я читал Страуструпа, думал, может быть, пригодится мне C++. Пока ни с одной ситуацией, где мне бы понадобились преимущества С++ над чистым С не сталкивался. Я не пишу GUI (для моих задач лучше всего подходит веб-интерфейс), мои программки не превышают по объему кода сотни-другой килобайт. В общем, С++ мне абсолютно бесполезен :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Пока ни с одной ситуацией, где мне бы понадобились преимущества

С++ над чистым С не сталкивался.


Ну если ты не владеешь C++ практически, то и не столкнёшься :) Я на С++ даже модули для Apache писал, ибо писать на чистом C без веских на то оснований - просто тратить напрасно своё время ;)

archimag ★★★
()
Ответ на: комментарий от archimag

Писать на С++ есть смысл лишь в случае, когда в задаче можно выделить классы, определить зависимость между ними, наследование и т.п. А когда у меня несколько железок, которыю надо периодически опрашивать и обрабатывать полученные данные, С++ использовать бесполезно. Ну, а примеры неоправданного применения С++ там, где можно было бы значительно уменьшить количество кода использованием С, здесь уже приводили.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Писать на С++ есть смысл лишь в случае, когда в задаче можно выделить

классы, определить зависимость между ними, наследование и т.п.


С чего вдруг? STL, например, может быть весьма эффективна даже если не определять своих классов. А boost.asio кажется сейчас лучшее что есть, для работы с асинхронным вводом/выводом. Ну и т.д. У C++ много преимуществ, но что бы понимать их нужно владеть им на достаточно хорошем уровне ;)

примеры неоправданного применения С++ там, где можно было бы

значительно уменьшить количество кода использованием С, здесь уже


приводили.



Вас ввели в заблуждение.

archimag ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.