Re[15]: что за ....!!! где C++ программисты?
От: superman  
Дата: 31.05.07 15:10
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, superman, Вы писали:


S>>млин, а если Вася пупкин завтра перепишет твой конструктор? или добавит ещё один который такой гаринтии давать не будет?

CC>А если вася пупкин перепишет твой конструктор так что все сломаеццо.
CC>Это сродни вопросу "а что будет если программа будет работать неправильно?"
CC>А если вася пупкин в ваш класс добавит конструктор по умолчанию и там ссылку проинитит адресом локальной переменной или вообще *NULL

всё, я умываю руки.
Сцылки это зло и излишество, а пароль ко всем сервакам пентагона "QWWERTY" и "Mao Tcedun"
Re[16]: что за ....!!! где C++ программисты?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 15:24
Оценка:
Здравствуйте, superman, Вы писали:

S>Здравствуйте, CreatorCray, Вы писали:


CC>>Здравствуйте, superman, Вы писали:


S>>>млин, а если Вася пупкин завтра перепишет твой конструктор? или добавит ещё один который такой гаринтии давать не будет?

CC>>А если вася пупкин перепишет твой конструктор так что все сломаеццо.
CC>>Это сродни вопросу "а что будет если программа будет работать неправильно?"
CC>>А если вася пупкин в ваш класс добавит конструктор по умолчанию и там ссылку проинитит адресом локальной переменной или вообще *NULL

S>всё, я умываю руки.

S>Сцылки это зло и излишество, а пароль ко всем сервакам пентагона "QWWERTY" и "Mao Tcedun"

Гык. Ну согласитесь, что передать NULL в конструктор надо умудрится ещё, а тем более, там на нуль не проверить
Re[9]: что за ....!!! где C++ программисты?
От: Sergey Россия  
Дата: 31.05.07 15:27
Оценка:
> S>а у него в подкорке уже было проштамповано, что по умолчанию надо выбирать первый вариант.
> ААААА!!!! Все пропало!!! А я списки пользую только тогда когда без них никак не написать

Ну если не смущает, что при этом зря отрабатывают дефолтные конструкторы — то можно продолжать писать в том же стиле.


> S> Чтобы он не думал

> Программист, который не думает должен быть утилизирован, ИМХО

А оппонент, вырывающий цитаты из контекста, должен быть утилизирован с особой жестокостью...

> S> что писать, i++ или ++i, а первый вариант выбирал бы только в том случае, если ему в данном куске кода действительно нужно знать, что было в i до инкремента. А не писал по привычке i++. Привычка должна быть другая — писать по умолчанию ++i.

> У меня для POD типов при наличии нормального компилера привычка писать постфиксный вариант как более удобный.

Путать POD и встроенные типы — это тоже в порядке вещей. А чем постфиксный вариант удобней, если не секрет?

> Скажите дохтур, я обречен?


Дохтур прописывает дотнет и жабу
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: С++ программисты все ЗДЕСЬ!!! %)
От: Дм.Григорьев  
Дата: 31.05.07 15:32
Оценка:
Всем привет.

Ветку надо бы в КСВ.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re: что за ....!!! где C++ программисты?
От: Awaken Украина  
Дата: 31.05.07 15:43
Оценка:
__>программисты на C++!!! те, кто реально пишут код, любят boost, но не боготворят, начинают проект с автосборки, где Вы?!

они в Японии
Автор: laren.dorr
Дата: 21.05.07
Re[13]: что за ....!!! где C++ программисты?
От: LuciferMoscow Россия  
Дата: 31.05.07 16:11
Оценка:
Здравствуйте, FDSC, Вы писали:


FDS>Так устроит? (см. пояснения в комментариях)

FDS>
FDS>};

FDS>class C2
FDS>{
FDS>public:
FDS>    void PrintI()
FDS>    {
FDS>        cout << i << endl;
                //    Можно ли тут писать std::cout<<*i<<std::endl;?
FDS>    }
FDS>};
FDS>
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[7]: что за ....!!! где C++ программисты?
От: LuciferMoscow Россия  
Дата: 31.05.07 16:11
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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

Ответили ранее: всякие scoped_lock-и
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[6]: что за ....!!! где C++ программисты?
От: kittown  
Дата: 31.05.07 16:24
Оценка: 4 (2) +3 :))
Hi

P>вопрос про ссылки ЭЛЕМЕНТАРНЫЙ — и если человек не знает, не может догадать или вывести гуся из опыта — это серьезный звонок. И можно воздержаться от бездоказательных утверждений типа — "по вашей вине столько хороших сотрудников" ...


P>Во первых — хороший сотрудник должен писать хороший код, а это невозможно без знания языка ...

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

P>А это уже реальный косяк! .. =)


Не слишком. Полгода поработав на другом языке, подобную мелочевку (а это именно мелочевка, непринципиальные фичи) можно и забыть.

P>и понимание основных механизмов языка (в мсдн-е не дают) это не тоже самое что и знание кактой то апишной функции которую действительно можно посмотреть в справочнике ....


Основные механизмы в C++ в точности те же, что и в обычном Си. От слова "основные". Все остальное — дополнительные и необязательные фичи. В некоторых компаниях они возводятся в фетиш и активно разбавляются не менее интересными внешними инструментами а-ля буст. В некоторых других компаниях значительная часть фич языка (вплоть до stl) просто запрещается к использованию, и никаких катастроф от этого не происходит. Это не самые существенные детали, и уж тем более не основы.

Я иногда принимаю экзамены по c++ для студентов, которые в силу бытия студентами знать его даже наполовину не могут в принципе. Из них многие легко ответят на ваши вопросы, а потом некоторые напишут вот это:

void MyString::addChar(char ch) {
    if (charsNum < buffSize) {
        buff[charsNum++] = ch;
        return;
    } 

    char* temp = new char[buffSize+1];
    buffSize = buffSize + 1;
    for(int i = 0; i < charsNum; i++) temp[i] = buff[i];
    temp[charsNum++] = ch;
    delete buff;
    buff = temp;
    delete temp;

    return;    
}


Михаил
Re[10]: что за ....!!! где C++ программисты?
От: 0x8000FFFF Россия  
Дата: 31.05.07 16:31
Оценка: 1 (1)
Это миф, придуманный теми, кто просто в силу своего уровня не в состоянии понять... Это тоже самое, что сказать, что не возможно познать всю математику в университете (а там не меньше, а я бы сказал больше информации)... Я уверен в этом, потому что всё между собой тесно связанно и одно из другого вытекает... если заниматься делом не абы как, а с фундаментальным подходом — то все можно познать.
Re[16]: Move Constructors
От: Roman Odaisky Украина  
Дата: 31.05.07 16:49
Оценка:
Здравствуйте, CreatorCray, Вы писали:

E>>>>Проблема этого кода в том, что он ill-formed (с первого беглого взгляда бросается в глаза void main).

CC>>>Вот любопытно: чего бОльшая часть народу цепляется именно к несчастному void main () тогда как реально критичные ошибки опускаются "на потом"?
E>>Так ведь это первое, что бросается в глаза. Зачем смотреть на остальное, если уже есть ответ?

CC>Ответ неправильный кста. Код хреновый не потому что void main () — вполне может быть что код писан был под VC6


Каким образом существование Microsoft® Visual® C++ 6.0 влияет на ill-formedness указанного текста согласно ANSI ISO/IEC 14882:2003?
До последнего не верил в пирамиду Лебедева.
Re[16]: А можно пример РЕАЛЬНОГО кода?
От: Roman Odaisky Украина  
Дата: 31.05.07 16:54
Оценка:
Здравствуйте, sc, Вы писали:

FDS>>А если представить себе ещё одно неправильное использование такой структуры блокировки: она незаметно для программиста (ну спешил человек или устал просто и не заметил) попадает во вложенные операторные скобки, а на самом деле должна блокировать всю функцию. Вот вам ещё одна ошибка, которую надо искать.... Правда тогда нужно делать функцию, а потом её обернуть ещё одной с синхронизацией чтобы точно никаких ошибок не было.... а это в C++ будет уже не удобно, скорее всего


sc>В данном случае, если ссылку заменить на указатель, вред точно такой же :)

sc>Почему же указатели хуже? Потому что Гугл на запрос "pointers are evil" выдает 554 ссылки а на "references are evil" всего 10 :)

Это напоминает мне «Как заработать миллион» и тот, второй, запрос с BOR.

Ссылки можно рассматривать как недоуказатели: не умеют менять адрес того, на что указывают, не бывают NULL. В этом-то и прелесть. Чем меньше, тем лучше. Надо будет, использую указатель — boost::reference_wrapper хранит данные отнюдь не в ссылке! А если хватит ссылки, воспользуюсь ей и наступлю на меньшее количество грабель.
До последнего не верил в пирамиду Лебедева.
Re[8]: что за ....!!! где C++ программисты?
От: Roman Odaisky Украина  
Дата: 31.05.07 17:03
Оценка:
Здравствуйте, pavel_turbin, Вы писали:

_>Кстати, ссылки очень элементарно переназначаются чрезе memset и memcpy


_>

_>// примерная версия
_>int a1 = 0, b1=0;
_>int &a = a1, &b=b;

_>memcpy( &a, &b, sizeof(b) );

_>// прижелании можно использовать __asm
_>__asm lea, eax a

_>


_>и весь C++ идет курит бамбук.


не-не.

Хинт: что вернет &a и то ли же это самое, что &a1?
До последнего не верил в пирамиду Лебедева.
Re[6]: что за ....!!! где C++ программисты?
От: flashinc  
Дата: 31.05.07 17:49
Оценка:
_>

_>Известно, что ссылку нельзя переназначить и ссылка всегда должна быть инициализированная.


_>

_>struct ABC
_>{
_>     int &a;
_>};
_>


_>может ли существовать такой тип ABC, вообще? Если программист "с лету" говорит "Да, проблем нет." Тогда что делать с правилом инициализации ссылки? Тут можно многое спросить еще, про дефолтный конструктор, как его генерируют и пр. Такие вопросы нужны что-бы отфильтровать шлак и посмотреть видел ли человек C++ вообще.


А что если так:

struct ABC
{
     int &a;
};

void main()
{
    extern ABC abc;
}
Re[11]: что за ....!!! где C++ программисты?
От: Панда Россия  
Дата: 31.05.07 17:55
Оценка: 19 (3) +8
FFF>Это миф, придуманный теми, кто просто в силу своего уровня не в состоянии понять... Это тоже самое, что сказать, что не возможно познать всю математику в университете (а там не меньше, а я бы сказал больше информации)...

Возьмите любого студента через 2-3 года после окончания университета. Много он той математики вспомнит, если его дальнейшая работа не была с ней связана? Хорошо, если из каждого раздела по нескольку основных определений и теорем будет помнить. Так же и программист: если ему не приходилось использовать какую-то грань языка С++ в работе, то он вполне может ее наизусть не помнить. Хотя иметь при этом солидный опыт и хорошо писать программы.

Хороший программист — это не тот, кто хорошо знает редкие и малоиспользуемые конструкции языка, а тот, кто хорошо умеет использовать простые и распространенные. А если ему понадобится использовать что-то, что он не знает, то потратит десять минут и изучит, делов то.
Re[17]: А можно пример РЕАЛЬНОГО кода?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 18:23
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Ссылки можно рассматривать как недоуказатели: не умеют менять адрес того, на что указывают, не бывают NULL. В этом-то и прелесть. Чем меньше, тем лучше. Надо будет, использую указатель — boost::reference_wrapper хранит данные отнюдь не в ссылке! А если хватит ссылки, воспользуюсь ей и наступлю на меньшее количество грабель.


Спор начался с того, что ссылка сама — грабли, так как по её использованию не видно, ссылка это или реальный объект
Re[14]: что за ....!!! где C++ программисты?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 18:26
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, FDSC, Вы писали:



FDS>>Так устроит? (см. пояснения в комментариях)

FDS>>
FDS>>};

FDS>>class C2
FDS>>{
FDS>>public:
FDS>>    void PrintI()
FDS>>    {
FDS>>        cout << i << endl;
LM>                //    Можно ли тут писать std::cout<<*i<<std::endl;?
FDS>>    }
FDS>>};
FDS>>


Не понял.
i здесь — приватная переменная
Re[9]: что за ....!!! где C++ программисты?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 18:33
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:


RO>Хинт: что вернет &a и то ли же это самое, что &a1?


Судя по моему примеру, где в конструктор передаётся как раз ссылка, а потом от неё берётся указатель, вернёт то же самое
Re[11]: что за ....!!! где C++ программисты?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 18:38
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:

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


Невозможно. Иначе бы не было восхищений, когда профессионалы встречают человека, очень хорошо разбирающегося в нескольких различных областях математики, физики и т.п. Большинство профессионалов хорошо изучают и понимают только свою область

FFF>Я уверен в этом, потому что всё между собой тесно связанно и одно из другого вытекает... если заниматься делом не абы как, а с фундаментальным подходом — то все можно познать.


Ну, я вот сейчас сопроматом занимаюсь. Стандартный курс сопромата сдал на 5. Вы думаете, что я понимал то, за что получил 5? Да не фига! Мне потребовалось 1,5 года занятий по нелинейной теории чтобы наконец-то понять, что же там было.

Так что не думаю, что объём каких-либо курсов в ВУЗе — это аргумент
Re[15]: что за ....!!! где C++ программисты?
От: LuciferMoscow Россия  
Дата: 31.05.07 19:18
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Не понял.

FDS>i здесь — приватная переменная
Так класс писал ты, потом его правило еще десяток человек, и он достался мне
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[16]: что за ....!!! где C++ программисты?
От: FDSC Россия consp11.github.io блог
Дата: 31.05.07 19:26
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, FDSC, Вы писали:


FDS>>Не понял.

FDS>>i здесь — приватная переменная
LM>Так класс писал ты, потом его правило еще десяток человек, и он достался мне

И?

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

Не знаю, что будет от разыменования целочисленной переменной, но, думаю, не больше проблем, чем от случайной замены объекта по ссылке на другой объект
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.