
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (17) « Первая ... 11 12 [13] 14 15 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#181
,
|
|
|
В C++11 есть, если что. |
Сообщ.
#182
,
|
|
|
Цитата sergioK @ Wound equal ты сам имплементируешь как считаешь нужным , и hash code желательно , это аналог operator == в С++ , Я это знаю. Я и говорю. Что С++сный == сравнивает именно значения. А Javaвский == сравнивает ссылки по сути, а чтобы в Java сравнивать именно данные, то нужно юзать Equal. Да мне непонятно в том коде что такое newFoo, немонятно откуда взялось Foo. Ну так я же написал до этого, что я не о out параметрах. Добавь в функцию foo const int&, об этом я. Добавлено Цитата D_KEY @ В C++11 есть, если что. Речь на сколько я понимаю идет таки об С++03, так как заявления были про 96 год, а также речь шла не только о С++ но и о С. Добавлено Цитата sergioK @ в стек передаеться значение ссылки , какая разница С++ , т,е, push , какая ему разница кто компилил ? Это вопрос из интервью из серии "подловить " Я вот не понял эти три строчки. Можно поподробнее? |
Сообщ.
#183
,
|
|
|
Цитата Wound @ Речь на сколько я понимаю идет таки об С++03, так как заявления были про 96 год В 96 у С++ вообще стандарта не было ![]() |
![]() |
Сообщ.
#184
,
|
|
Цитата Wound @ Да мне непонятно в том коде что такое newFoo процедура, возвращающая значение типа Foo, это не важно, не думай о ней. Цитата Wound @ немонятно откуда взялось Foo. typedef же. Цитата Wound @ Ну так я же написал до этого, что я не о out параметрах. Добавь в функцию foo const int&, об этом я. При чем тут out и const? Разговор шел про "передачу по ссылке и по значению". Так вот, "передача по ссылке" != "передаче ссылочного значения по значению", простите за тафтологию. Вот смотри: ![]() ![]() struct value { int x, y; float f; }; struct Object { value *v; }; void foo(Object o) { // это передача по ссылкке или по значению? ... } |
Сообщ.
#185
,
|
|
|
Цитата D_KEY @ В 96 у С++ вообще стандарта не было Первый стандарт в 98 году вышел. Я знаю. Почитай в общем заного о чем речь. Я не думаю что sergioK говорит именно о С++11, так как предпосылок для этого он не дает. Цитата korvin @ typedef же. ну так синтаксис typedef немного другой, сначало идет тип потом синоним, а у тебя паходу наоборот. Цитата korvin @ При чем тут out и const? Разговор шел про "передачу по ссылке и по значению". Так вот, "передача по ссылке" != "передаче ссылочного значения по значению", простите за тафтологию. Вот смотри: Все я понял что ты имеешь ввиду. Добавлено Значит я Java перепутал с чем то, или с делфями или с C#, просто помню гдето там ссылочная семантика идет. Добавлено Цитата D_KEY @ В 96 у С++ вообще стандарта не было Первый стандарт в 98 году вышел. Просто фишка в том, что он говорил эту фразу в 96 году по его словам относительно С, потом прочел в книжке тоже самое в 2002, и в 2013 повторил. Когда я у него спросил почему, он так считает, то он начал приводить все эти потоки оси и т.д. А последний стандарт вышел в 2011 году осенью, поэтому и не клеится. Иначе был бы акцент как раз таки на новый С++, а не вообще на С/С++. |
![]() |
Сообщ.
#186
,
|
|
Цитата Wound @ ну так синтаксис typedef немного другой Да я с ним все время путаюсь. Добавлено Цитата Wound @ Значит я Java перепутал с чем то, или с делфями или с C#, просто помню гдето там ссылочная семантика идет. Она нигде не идет, кроме языков, где есть пользовательский тип "указатель". А в некоторых из тех, где нельзя, "накостылили" out-параметры. |
Сообщ.
#187
,
|
|
|
Цитата korvin @ Она нигде не идет, кроме языков, где есть пользовательский тип "указатель". А в некоторых из тех, где нельзя, "накостылили" out-параметры. Разве? Помнится мне в холиварах делфи вроде у них там смешаная семантика шла, или там также как в Java ? Значит я совсем запутался. Добавлено Нужно будет тогда просветить сей вопрос как нибудь ![]() Добавлено korvin, а ты как считаешь, нужно ли обладать базовыми знаниями С/С++ чтобы писать грамотный код на других языках? Может я один такой неправильный... Что я заметил например в Java программистах, это то, что они действительно порой не знают вещей, которые им стоило бы знать, например сколько у них какие типы занимают памяти. Както натыкался на статью на хабре, как один ныл что промудохался сколько то времени чтобы избежать out of memory, и потом сделал для себя открытие что тип boolean в Java весит 4 байта вместо одного, а у него там массив boolов был на 15к элементов. Ну хотя все это можно подчерпнуть из той же спецификации или даже книжки по Java. |
Сообщ.
#188
,
|
|
|
Цитата Wound @ Что я заметил например в Java программистах, это то, что они действительно порой не знают вещей, которые им стоило бы знать, например сколько у них какие типы занимают памяти. Както натыкался на статью на хабре, как один ныл что промудохался сколько то времени чтобы избежать out of memory, и потом сделал для себя открытие что тип boolean в Java весит 4 байта вместо одного, а у него там массив boolов был на 15к элементов. Ну хотя все это можно подчерпнуть из той же спецификации или даже книжки по Java. Т,е ты признаешь что стоит знать С, ![]() |
Сообщ.
#189
,
|
|
|
Цитата sergioK @ Т,е ты признаешь что стоит знать С, This what I am talking about . Нет конечно. Я же это нигде не писал. Знание/не знание С/С++ никак не влияет на знание или написание грамотного кода на Java и других языках. Добавлено В C - нет типа boolean, в C++ тип bool - весит 1 байт. С какого препуга зная сколько в С++ весит bool, Java программист узнает сколько он будет весить в Java ? Добавлено В данном случае его эта информация только запутает. Добавлено Более того все холивары с Java программистами и попытка привести в качестве аргумента какие то особенности ОС не особо помогают. Так как основной аргумент Java программистов состоит в том, что им не нужно знать специфику ОС, а там где надо - получается не кросплатформенный код, и такие случаи довольно редки. Кому нужна программа на Java с привязкой к одной ОС? Добавлено Да и найти нормального С/С++ программиста не такая уж и легкая задача, так как язык довольно сложный, и просто прочитать книжку - мало. Нужно еще иметь пару лет опыта работы на этом языке. А то что ты перечислил специфику ОС, потоки и т.д. в случае с С++03 и ниже не относится напрямую к С/С++, а в случае С++11 - это далеко не базовые знания. |
Сообщ.
#190
,
|
|
|
Цитата Wound @ С какого препуга зная сколько в С++ весит bool, Java программист узнает сколько он будет весить в Java ? С такого что он в принципе не слышал о наличии sizeof , И проблеме нехватке паямяти , потому что ему сказали что это не нужно , |
Сообщ.
#191
,
|
|
|
Цитата sergioK @ С такого что он в принципе не слышал о наличии sizeof , Причем тут sizeof? В книжках и в спецификации по Java не описываеться sizeof ? Да и sizeof практически не применяют работая с базовыми типами типа Int, bool, byte, и т.д. по крайней мере я еще ниразу не применял этот оператор для базовых типов. В Java аналогично. Цитата sergioK @ И проблеме нехватке паямяти , потому что ему сказали что это не нужно , Да, у них GC есть. Да и сейчас не те времена чтобы задумываться о нехватке памяти. Добавлено sergioK, в приведенном мною примере, где у чувака кончилась память, когда он юзал массив на 15 000(или даже миллионов, я не помню, помойму миллионов) элементов типа boolean скорее всего проблема не в том сколько весит bool, а в том что массивы такого объекма нецелесообразно хранить в RAM памяти, ИМХО конечно. Добавлено Вот ссылка на хабр статью, если интересно boolean — боремся за Java память… Я ошибся, он там юзал массив на 500 000 000 элементов типа boolean. По моему это маразм. Цитата Итак в моём распоряжении есть код, которому не хватает 15Gb оперативной памяти для нормального функционирования и очень длительный и дорогостоящий процесс запуска (около 5 часов), в ходе работы которого можно только сидеть со скрещенными пальцами и надеятся, что в этот раз заветные слова OutOfMemoryException не появятся в консоли удалённого сервера. ![]() |
Сообщ.
#192
,
|
|
|
Цитата Wound @ Добавлено sergioK, в приведенном мною примере, где у чувака кончилась память, когда он юзал массив на 15 000(или даже миллионов, я не помню, помойму миллионов) элементов типа boolean скорее всего проблема не в том сколько весит bool, а в том что массивы такого объекма нецелесообразно хранить в RAM памяти, ИМХО конечно. Добавлено Вот ссылка на хабр статью, если интересно boolean — боремся за Java память… Я ошибся, он там юзал массив на 500 000 000 элементов типа boolean. По моему это маразм. Цитата Итак в моём распоряжении есть код, которому не хватает 15Gb оперативной памяти для нормального функционирования и очень длительный и дорогостоящий процесс запуска (около 5 часов), в ходе работы которого можно только сидеть со скрещенными пальцами и надеятся, что в этот раз заветные слова OutOfMemoryException не появятся в консоли удалённого сервера. ![]() У меня бывало и по 40, с рамом в 2тера , |
Сообщ.
#193
,
|
|
|
Цитата sergioK @ У меня бывало и по 40, с рамом в 2тера , В Java ? Или в С/С++ ? Я, если честно, не могу себе представить когда такое нужно, да и в конце концов то можно же юзать file mapping.... Добавлено Цитата sergioK @ с рамом в 2тера , это где такие рамы стоят? У чувака тут обычненький такой себе сервачок, с неочень большим объемом рамы. |
Сообщ.
#194
,
|
|
|
Цитата это где такие рамы стоят? У чувака тут обычненький такой себе сервачок, с неочень большим объемом рамы. на MF |