LINUX.ORG.RU

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

ты в очередной раз доказал свой статус кретина и недоумка, я тебе открою секрет - «_()» - не только в gettext используется

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

>да было б чему там возражать - то лузеры вайнят что кактус горький, ты лучше не ориентируйся на неосиляторов (козлёночком станешь), а читай как делают профессионалы

По ссылкам нет ничего по теме. Прочитай что пишет Alexander E. Patrakov еще раз.

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

> Тебя в школе читать научили, быдлокодер? ;)

для тебя «быдлокодер» - был бы комплимент после твоих высеров в «коде»

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

По ссылкам нет ничего по теме.

а, даже так :) ну ничего, ничего мальчик, вот возьми яблочко, иди к маме

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

Прочитай что пишет Alexander E. Patrakov еще раз.

зачем мне читать выс@р недоучки второй раз, я с первого раза понял кто он :)

я лучше Джосьютиса почитаю

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

>а, даже так :)

Какое отношение имеют какие-то унылые бандлы ресурсов к той конкретной претензии которую написал Alexander E. Patrakov ?

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

> Идиот - твой папа

вот ты и показал свою гнилую душонку - опускаться до оскорблений родственников могут только закомплексованные задроты от бессилия

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

Какое отношение имеют какие-то унылые бандлы ресурсов к той конкретной претензии которую написал Alexander E. Patrakov ?

не, ну вот ты бурятский буратина :)

printf, iostream and internationalization

а теперь внимательно присмотрись к тем самым «бандлам и ресурсам» :)

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

>а теперь внимательно присмотрись к тем самым «бандлам и ресурсам» :)

Неужели бандлы содержат сообщения целиком, вместе с «подвижными частями» этих самых сообщений?

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

> Выдает 3.14159.

Называется смотрим в книгу - видим фигу. Может тебе еще рассказать что такое число pi и чему оно равно ?

ЧЯНТД?

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

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

Может тебе еще рассказать что такое число pi и чему оно равно ?

расскажи, расскажи, только все цифры после запятой не забудь написать, чтобы без усечения получилось

а пока будешь писать, подумай вот над этим:

#include <iostream>
#include <cmath>

const double m_pi = 2*acos(0.0);

int main(void) 
{
	std::cout << m_pi << std::endl;
	return 0; 
} 

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

Прежде чем так позориться, советую вспомнить какая точность у типа double. Представляю, сколько бы Вы 2.71бались с отладкой в попытках понять где же теряется точность.

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

>всем нам срочно нужна монада Writer и класс типов Show

Сперва плюсам нужны классы типов =)

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

Прежде чем так позориться, советую вспомнить какая точность у типа double.

ололо, прекрасно помню, Вы же вспомните что iostream type safe, а не idiot safe

Представляю, сколько бы Вы 2.71бались с отладкой в попытках понять где же теряется точность.

это Ваш удел (по себе вижу судите), подобные вещи, даже если и случаются, легко отлавливаются unittest'ами

shty ★★★★★
()

puts, и всё такое

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

> ололо, прекрасно помню, Вы же вспомните что iostream type safe, а не idiot safe

а раз прекрасно помните, то зачем даете нерабочий пример?

Reset ★★★★★
()
Ответ на: комментарий от Reset
  ostringstream os;
  os << setprecision(100);
  os << M_PI;
  cout << "os: " << os.str() << endl;

  istringstream is(os.str());
  X1 x;
  x.read(is);
  cout << setprecision(100) << "x.m = " << x.m << endl;
  x.write(cout);
  cout << endl;

Вывод:

os: 3.141592653589793115997963468544185161590576171875
x.m = 3.141592653589793115997963468544185161590576171875
3.141592653589793115997963468544185161590576171875
Что теперь не так, сын идиота?

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

ты опять обосрался, потому что

1. double 16 знаков, а не 100

2. коли сохраняешь состояние класса, то настраивай запись в поток внутри функции сохранения

3. ты конченный идиот, раз не понимаешь таких элементарных вещей

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

> ололо, прекрасно помню, Вы же вспомните что iostream type safe, а не idiot safe

а раз прекрасно помните, то зачем даете нерабочий пример?

это Вы его дали :) вот тут

эта сообщение было ответом на Вашу цитату

Может тебе еще рассказать что такое число pi и чему оно равно ?

в доступной форме (надеюсь) было показано что такое число pi, и что будет если просто взять его и вывести

а Ваш пример некорректен чем?

а тем что он работае, вобщем-то :)

почему? да потому что в сигнатуре функций у стоят ссылки на потоки, а уж то что Вы их не выставили как следует - ССЗБ :)

int main(void) 
{
	std::cout << setprecision(20);
	ostringstream oss;
	oss << setprecision(20) << m_pi;
	istringstream iss (oss.str()); 

	X x; 
	x.read(iss); 
	x.write(cout); 
	std::cout << std::endl;

	return 0; 
} 

output: 3.1415926535897931

и не говорите что используя printf нельзя точно такую же умную вещь сделать

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

да, верхняя часть кода

#include <iostream> 
#include <cmath>

using namespace std;

const double m_pi = 2*acos(0.0);

struct X 
{ 
   double m; 
   void read(istream & is) 
   { 
	   is >> m; 
   } 
   void write(ostream & os) 
   { 
       os << m; 
   } 
};

как видите, вот он Ваш код, и работает :)

ещё раз: type safe != idiot safe :)

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

и да - это bad design, но это не значит что если такое встретится намертво вшитое в legacy нельзя будет написать человеческую обёртку

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

не работает, потому что корректно сохранить состояние класса он не может

1) работает потому что выдаёт правильный результат

2) шо? какое состояние класса? никому он ничего не должен сохранять или Вы опять считаете что язык за Вас должен что-то дописывать? к тому же может вся фишка в том что точностью можно управлять снаружи относительно методов данной структуры... я не знаю о чём Вы там мечтали когда пример такой писали :)

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

те же самые ошибки, что и сделал JackyTreehorn, откуда же вас - неучей столько повылазило ?

пыщщщщь... вода полилась :) засчитано, камрад

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

> 1) работает потому что выдаёт правильный результат

Выдает правильный результат неправильным способом. Если делаете сериализацию в текстовый поток, то делате её нормально, чтобы вывод не зависел от внешних факторов.

2) шо? какое состояние класса?

Для тех кто в танке — set::precission надо вызывать внутри функции write, а потом вернуть поток в первоначальное состояние, чтобы после вызова write сюрпризов не было.

PS. ох, жалко же мне ваших студентов, чую плохому бедных учите

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

> 2) шо? какое состояние класса?

Для тех кто в танке — set::precission надо вызывать внутри функции write, а потом вернуть поток в первоначальное состояние, чтобы после вызова write сюрпризов не было.

ещё раз, если у Вас таких структур летает целая куча и Вам надо (!!!) управлять форматом вывода централизовано из какого-нибудь управляющего класса, то почему бы и нет?

ещё раз, это зависит от того какую цель Вы преследовали во время написания такого куска кода :)

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

если же Вы имели в виду другое - то ССЗБ

не забываем (type safe) != (idiot safe) :)

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

Нет, мы тебе пытаемся объяснить, что ты упертый идиот. Неужели не понять такую простую вещь? ;)

JackyTreehorn
()

Не надо переходить на личности и кричать «слив защитан». Пока что ни одна сторона не смогла убедительно аргументировать.

Только одно понял, что cout форматирование менее читабельный, более медленный, но более безопасный. А с локализацией у обоих проблема.

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

Это Вы так пытаетесь оправдать свою безграмотность?

отнюдь, пытаюсь показать Вам почему Ваш пример некорректен с точки зрения того что Вы хотите показать, а Вы отпираетесь как номенклатурщик со стажем :)

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

Пока что ни одна сторона не смогла убедительно аргументировать.

сумела, но не все смогли увидеть «знаки» :)

Только одно понял, что cout форматирование менее читабельный, более медленный, но более безопасный. А с локализацией у обоих проблема.

поздравляю Шарик - ты ничего не понял (видимо потому что не ходил по ссылкам или делал это недостаточно внимательно) :)

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

вообще тошнит уже от этой темы, надо завершать

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

Ну извини, что не понял, просто ваш ход доказательств-срача прыгал туда-сюда. Так что же по-твоему верно?

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

>Ну извини, что не понял, просто ваш ход доказательств-срача прыгал туда-сюда.

Вообще-то по ходу дискуссии выяснилось что сообщения подаваемые пользователю должны храниться в бандле ресурсов целиком, поскольку в другом случае морфология целевого языка будет плыть. iostream же требует их разбивать на куски. Ничего внятного защитники iostream ответить не смогли, но зачем-то продолжают свою активность вместо того чтобы признать свое поражение и покинуть тред.

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

>Разве в треде обсуждалось только это?

Ну хорошо, допустим пускай будет такой наброс:

1) Обычно к объектам приделывают нормальную сериализацию, например в ASN.1 . Возможно - в несколько форматов через адаптеры. Зачем нужны все эти шифты влево? 2) Хорошая библиотека должна решать одну задачу и решать ее хорошо. Зачем в iostream засунуты в одну кучу утилиты работы с текстом и собственно IO?

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

Вообще-то по ходу дискуссии выяснилось что сообщения подаваемые пользователю должны храниться в бандле ресурсов целиком, поскольку в другом случае морфология целевого языка будет плыть. iostream же требует их разбивать на куски. Ничего внятного защитники iostream ответить не смогли, но зачем-то продолжают свою активность вместо того чтобы признать свое поражение и покинуть тред.

БУ-РА-ТИ-НО! Полено, понимаешь?

Тебе несколько раз приводили ссылки о том как делается в случае с С++, в том силе и для messaging, с примерами, но ты просто всё проигнорировал. Тормози дальше. :)

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

У вас не нашлось контраргументов. ))

это у Вас не нашлось аргументов

кстати у кого это у Вас? Вы, ЕМНИП стояли в сторонке большую часть времени

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

Зачем в iostream засунуты в одну кучу утилиты работы с текстом и собственно IO?

1) какие ещё утилиты?

2) а зачем то же самое в printf/fprintf засунуто? :)

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