S>Разве возвращается не обертка над объектом на стеке? Копирования я тут не вижу.
Возвращается по значению, походу и в "начальном" варианте это именно копирование, хотя компилятор может заинлайнить целевое тело ф-ии, чтобы оно расчитывало значения непосредственно в область стека, которая выделена под возвращаемое значения (например, если результат используется как аргумента вызова другой ф-ии, то сразу можно вычислять в соотв. позицию аргумента).
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, samius, Вы писали:
S>>Разве возвращается не обертка над объектом на стеке? Копирования я тут не вижу.
V>Возвращается по значению, походу и в "начальном" варианте это именно копирование, хотя компилятор может заинлайнить целевое тело ф-ии, чтобы оно расчитывало значения непосредственно в область стека, которая выделена под возвращаемое значения (например, если результат используется как аргумента вызова другой ф-ии, то сразу можно вычислять в соотв. позицию аргумента).
Кажется там речь шла о возврате function...
Как я понимаю, в общем случае (без инлайнинга) возвращается значение function. Какое отношение к значению function имеет тело самого замыкания?
Что будет если компилятор заинлайнит тело функции, подставляя function в область стека вызывающей функции, куда в этом случае попадет тело самого замыкания?
Что вообще за этим function? Он фиксированного размера?
Здравствуйте, gandjustas, Вы писали:
G>А по сущству есть что сказать? Или ты честно считаешь что в своем проекте будешь вмеесто стандартных new, delete и всего что с ними связано
У нас в проекте именно так, собственные new/delete, потому что в KernelMode аллокация вовсе не через HeapAlloc делается. Полёт нормальный.
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, gandjustas, Вы писали:
G>>А по сущству есть что сказать? Или ты честно считаешь что в своем проекте будешь вмеесто стандартных new, delete и всего что с ними связано
IID>У нас в проекте именно так, собственные new/delete, потому что в KernelMode аллокация вовсе не через HeapAlloc делается. Полёт нормальный.
Разве C++ в ядре? А что там от C++ осталось то?
Здравствуйте, IID, Вы писали:
G>>А по сущству есть что сказать? Или ты честно считаешь что в своем проекте будешь вмеесто стандартных new, delete и всего что с ними связано
IID>У нас в проекте именно так, собственные new/delete, потому что в KernelMode аллокация вовсе не через HeapAlloc делается. Полёт нормальный.
Я почти во всех своих проектах использую аллокатор маленьких (до 256 байт) объёктов (коих обычно 95%), который работает очень быстро и эффективно, устраняя в частности потенциальную фрагментацию.
Здравствуйте, Anton Batenev, Вы писали:
AB>Судя по хамско-истеричному тону твоего сообщения и отсутсвию комментариев по очевидным тезисам, прилетело тебе кучно.
Хамский тон? Дык я со всеми говорю тем тоном который они зауживают. Ты не стоишь того, чтобы проявлять к тебе уважение.
А что до истерик. Гы. Не умеешь ты диагнозы по почерку выставлять. Мне от твоих понтов ни тепло, ни холодно.
VD>> Ты слил спор и теперь бредишь пытаясь перевести разговор на что-то не относящееся к делу.
AB>Ты спрашивал, как показать мастер-класс — я тебе ответил. При чем, подобрал задачу как раз под тебя. Или я был слишком хорошего мнения?
Да причем тут мастер-класс? Я о другом говорил. Ты банально обосрался в споре и пытаться свести все к флэйму, перевести тему, перейти на личности и т.п. Ну, так тут таких как ты пруд пруди и на такие примитивные приемы я не поддаюсь.
VD>> При этом даже в теме на которую ты пытаешься перескочить ты не понимаешь ровным счетом ничего.
AB>Ты очень хочешь, но стесняешься мне поведать историю про rocket science сайта RSDN типа "каталог статей" + "форум" с суточным количеством хитов в районе 100-200 тыс и временем жизни кэша в районе минуты? Чтож, удиви меня.
Я не вижу никакого отношения между твоим ламерством в обсуждаемых вопросах и нашим сайтом.
Ну, и разговаривать о проблемах сайта с теоретиками мне по-попросту не интересно. Когда создашь сайт хотя бы в десять раз меньше популярный можно будет поговорить.
VD>> В общем, сплошное ламерство и не умелая демагогия с твоей стороны. Постыдился бы.
AB>Мне-то почему за то, к чему я не имею никакого отношения, должно быть стыдно?
Тебе должно быть стыдно за свое ламерство и ту дерьмовую демагогию что ты тут разводишь.
В прочем, понятие совести для таких как ты вряд ли применимо, а значит разговоры о совести бессмысленны.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, NikeByNike, Вы писали:
NBN>Ага, а в задачу входит создание красивого, быстрого и кроссплатформенного кода и софта — это решаемо _только_ на С++. Даже ущербный С с этим не спрвится.
А ты в курсе на чем написано ядро Linux, да и Windows?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, NikeByNike, Вы писали:
NBN>Здравствуйте, gandjustas, Вы писали:
G>>>>
G>>>>A a;
G>>>>B* b = (B*)((void*)&a)
G>>>>
G>>>>Где тут сильные проверки?
G>>Не надо объяснять. Не такая уж сильная типизация как тебе кажется. G>>Пример с union_ами приводить?
NBN>А чего ты всё про С да про С? Мы тут вроде про С++ говорили.
C++ в полной мере наследует все проблемы и ошибки С и добавляет свои до кучи.
v> C>http://en.wikipedia.org/wiki/Objective-C — во многих смыслах замечательное решение, а с недавних пор еще и автоматическая сборка муссора появилась (опционально).
v> Ты писал на нем реально? И как тебе синтаксис объявлений обычных классов, абстрактных или интерфейсов? Как тебе запись вызова методов?
Синтаксис — это как бы вопрос сильно субъективный
ЗЫ. Сам на Objective-C не писал Ленивый я
v> Сборка мусора там далеко не на всех реализациях, и в отсутствии аналогов смарт-поинтеров получаем тот же гемморой, что и с голым С.
Если мне не изменяет память, то для большинства high-level объектов там встроеный счетчик ссылок или тип того. Что, естественно, не решает проблему полностью
Здравствуйте, VladD2, Вы писали:
NBN>>Ага, а в задачу входит создание красивого, быстрого и кроссплатформенного кода и софта — это решаемо _только_ на С++. Даже ущербный С с этим не спрвится.
VD>А ты в курсе на чем написано ядро Linux, да и Windows?
С-код, как и код любого низкоуровневого языка — страшен.
Здравствуйте, Mamut, Вы писали:
v>> Сборка мусора там далеко не на всех реализациях, и в отсутствии аналогов смарт-поинтеров получаем тот же гемморой, что и с голым С.
M>Если мне не изменяет память, то для большинства high-level объектов там встроеный счетчик ссылок или тип того. Что, естественно, не решает проблему полностью
Это ты про либы для iPhone? Да, так и есть, это обычное библиотечное решение, следить за счетчиком надо вручную.
И давно ты так на С# пишешь?
На С++ тоже уже на днях станет можно.
ГВ>>И потом, bind — это, в общем-то, не полноценные лямбды, как ни крути. Показательно то, что на C++ их можно реализовать. G> Показательно то что их нет в современном языке.
Современный язык — понятие растяжимое. Раньше как-то шли ФЯ отдельно, императивные отдельно, а теперь все хотят 2-в-1, и бум этот буквально последние единицы лет. MS пошла навстречу, ну и С++ уже подтянулся.
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, landerhigh, Вы писали:
C>>>На детские болезни программистов и прочие грабли я налетал примерно 11 лет тому назад, когда работал С/С++ программистом. Так что Ваш комментарий, молодой человек, несколько "мимо тазика". L>>Так и работал, C/C++ программистом? А это ничего, что такого языка нет и не было? C>В каком месте при чтении Вашего ответа следует начинать смеяться?
Смотри выделенное.
Засим откланиваюсь.
Здравствуйте, MxKazan, Вы писали:
MK>Здравствуйте, Pepel, Вы писали:
P>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна .. MK>Dildo Framework, Vegetable Edition
Остается окрытым вопрос: а как быть мясному рынку?
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, gandjustas, Вы писали:
V>И давно ты так на С# пишешь?
Давненько.
V>На С++ тоже уже на днях станет можно.
А смысл?
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, gandjustas, Вы писали:
V>>>На С++ тоже уже на днях станет можно. G>>А смысл?
V>Совсем предлагаешь без нативных языков обходиться?
Смотря в какой области. В системном программировании не сильно получится без нативных языков, байтики ворочить без C мало получится. C++ в такой задаче ни к чему. Аналогично для числомолотилок.
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, MxKazan, Вы писали:
MK>>Здравствуйте, Pepel, Вы писали:
P>>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна .. MK>>Dildo Framework, Vegetable Edition
___>Остается окрытым вопрос: а как быть мясному рынку?
Известно как! Ждать сервис-пака!
Здравствуйте, vdimas, Вы писали:
v> v>> Сборка мусора там далеко не на всех реализациях, и в отсутствии аналогов смарт-поинтеров получаем тот же гемморой, что и с голым С.
v> M>Если мне не изменяет память, то для большинства high-level объектов там встроеный счетчик ссылок или тип того. Что, естественно, не решает проблему полностью
v> Это ты про либы для iPhone? Да, так и есть, это обычное библиотечное решение, следить за счетчиком надо вручную.
Не, там что-то было и в Objective-C. Но, наверное, как в Qt это сделано для библиотечных классов (каких0нить хэндлов, окон, строк и т.п.) Сейчас просто лень искать