Здравствуйте, igna, Вы писали:
I>Но у меня есть еще один вопрос, как сообщать об ошибке, если файл не прочитался или память не разместилась? Менять сигнатуру функции? Просто вернуть нулевой указатель недостаточно, если нужно различать между двумя причинами ошибки.
Здравствуйте, Alexéy Sudachén, Вы писали:
AS>Встречный вопрос, это для разжигания флейма, или действительно интересно? Ведь задавать тут такой вопрос, это как в бочку с бензином спичку кинуть.
Если бочка полная — спичка тупа погаснет, скорее всего.
Темка старовата для флейма. Сейчас, наверное, более актуально "плюсы не нужны" или "плюсы супротив питона".
А по теме топика — раньше писал немного. Сейчас вообще плюсы не нужны, а если надо будет что-то написать к тому же питону (или какой-то мелкий конвертор данных сам по себе, например) — плюсы не нужны совершенно для таких задач. А других у меня для него нет.
Здравствуйте, igna, Вы писали:
I>Здравствуйте, Mystic, Вы писали:
M>>В стандарте POSIX больше значений. Среди них ENOMEM, ENOENT, ... Обычно эти значения уже вернут функции libc.
I>А под Windows что делать? Гарантий, что все работает так же нет никаких. В errno.h есть следующее "Conforms to the XENIX standard.", но это же старье.
Тут еще проще, Microsoft последний стандарт Cи не поддерживает из принципа. Так что если брать вижуал, то там мои исходники в принципе не скомпилируются, проблема еще до POSIX.
Здравствуйте, Alexéy Sudachén, Вы писали:
AS>>>Покажи чистый. Буду знать как надо писать правильно. P>>ну мне он тоже кажется грязным — но это чисто субъективно, дело привычки, и не относится к языку. P>>я бы предпочёл: AS>Может ещё про расстановку скобочек поспорим.
я же говорю — субъективно
AS>Когда я чужой код читаю, мне вот совершенно пофигу как стоят скобочки, как пишутся имена ...
ну конечно, зачастую чужого кода переваривать нужно на порядки больше чем своего, но всё же свой стиль периваривается легче
например вот такой стиль:
if(condition)
{
stmt1;
stmt2;
...
}
мне с непривычки крышу немного сносит, да
AS>Тут на самом деле важно другое, код то вообще-то хоть кто нить прочитал?! Я вообще-то ребёнка в садик собирал и потому особенно не проверял что пишу, то что в Array_Push, исходя из здравого смысла, аргумента не хватает так похоже никто и не заметил ))))
ну да косяк, хотя семантику я не проверял, да и отмазка у меня тоже есть...
Здравствуйте, SilentNoise, Вы писали:
MZ>>С так ужо убого выглядит, что просто морально нельзя его терпеть. SN>Вы это так говорите, будто С++ выглядит менее убого.
Здравствуйте, SilentNoise, Вы писали:
SN>Не будет, ибо те средства абстракции, которые есть в С++ но отсутствуют в С, сделаны так монструозно, что приносят больше проблем чем профита.
Автоматический вызов деструктора сделан пц как монструозно.
Ну а шаблонный враппер над указателем это просто нереальный монстр, да!
Жги ещё!
Здравствуйте, Alexey Sudachen, Вы писали:
AS>в С++ мне приходится писать кучу обёрток или использовать их.
А тут тебе мало того что пришлось написать свой FW так ещё и приходится его использовать. Тока в С++ scoped ptr пишется в любой момент с нуля десятком строк, а твой FW с нуля мало того что задолбёшься писать так ещё и отладить это всё сильно геморнее.
AS> Причём явно и понимая как оно может взбрыкнуть и с какими последствиями.
А твоё что, взбрыкнуть не может нигде? По мне так как раз твой FW надо очень осторожно применять, потому как хз что там у тебя за мины разложены.
AS> С учётом трейтсов и всяких других неявных стратегий
А не надо быть укушенным александреску. На С++ можно писать просто.
AS>Так называемое макродрочерство присутствует только в коде yoyo, в целевом коде его нет. Хотя фиг его знает что ты под этим понимаешь.
Вызовы трёхэтажных макросов в прикладном коде.
AS>Фактически преимущество в том, что мне нужно меньше думать на тему как, и больше о том что именно и зачем я делаю. AS> Но в общем-то вопрос привычки.
Ты привык колбасить на своём FW, потому и думать тебе о нём не надо — ты знаешь как оно работает.
Мы пишем на С++ и уже давно на уровне подсознания знаем как оно работает.
Здравствуйте, Alexey Sudachen, Вы писали:
AS>Как? Особенно если компилятор про C++11 не слышал.
И что? На стандарте 2003го года вполне можно писать вменяемый код.
AS>Я когда ПРАВИЛЬНЫЙ код на C++ вижу, у меня от этих бла::бла::бла< бла::бла<бла::бла> > в глазах рябит.
А с чего ты взял что то, что ты видел это был правильный код?
Здравствуйте, igna, Вы писали:
I>Есть тут кто-нибудь, кто предпочитает C вместо C++ хотя бы и для отдельных проектов?
А я вот где-то годик под чистыми сями писал. Сначало думал что буду плеваться, но был приятно удивлён обратной стороной сей. Можно сказать что за это время буквально часть мозга высвободилась из языкового оверхеда с++ под прикладные задачи. Ни шаблонов тебе, ни перегрузок, ни вложенных классов/скопов, ни виртуальных функций, ни исключений, ни горбатых стримов, ничего, красота..
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали:
I>>Есть тут кто-нибудь, кто предпочитает C вместо C++ хотя бы и для отдельных проектов? V>А я вот где-то годик под чистыми сями писал. Сначало думал что буду плеваться, но был приятно удивлён обратной стороной сей. Можно сказать что за это время буквально часть мозга высвободилась из языкового оверхеда с++ под прикладные задачи. Ни шаблонов тебе, ни перегрузок, ни вложенных классов/скопов, ни виртуальных функций, ни исключений, ни горбатых стримов, ничего, красота..
Что, это кроме тебя кто-нибудь использует? Буду очень удивлен. В коде нет комментариев. Не просто очень мало, а вообще нет. Нуль полный. Что этот код делает? Кроме создателя никто не знает. И не дай бог узнает! Коммиты тоже не блещут выразительностью. "updated", "updated", "updated", опять "updated". Что трудно для себя хотя бы написать, что ты там изменил?