_>>>ссылка — далеко не самое удачное изобретение микрософта ...
S>>вы настолько грамотны, что до сих пор верите, что стандарт с++ придумали майкрософт?
_>а вы действительно настолько наивны и до сих пор полагаете, что стандарты в данной области принимаются (или, что еще вернее, могут быть приняты) без него?
— проститет, а церковь тоже я разрушил?
— нет, это до вас ещё
Здравствуйте, deniok, Вы писали:
FDS>>P.S. Такие обнуления наоборот помогают раньше выявить ошибку. Но смысла вашей фразы я всё равно не понял: что вы имели ввиду, что в релизе работать не будет...
D>Возможно я просто тебя не понял. Ты писал "про обращение по этим областям" здесь
. Я имел ввиду, что обращение по областям, где был объект, время жизни которого ты не контролируешь — это потенциальные грабли.
Видимо не понял: я имею ввиду, что в C++ всегда есть вероятность, что ты по ошибке удалишь объект раньше, чем будет последнее к нему обращение. Что бы вероятность быстро выявить такое ошибочное обращение я и обнуляю указатели
Re[19]: Всем, кто поставил минусы, просьба отписаться - поче
Ну ладно, сдаюсь. Итераторы я писал (один или два ), но вот не на C++ и никогда для этого "++" не использовал
Но всё равно с int вполне можно и i++ использовать
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FDSC, Вы писали:
FDS>>>>Хм, программисту он должен. Я вот сейчас даже проверил — в VS 2005 генерирует WH>>>Как проверял?
FDS>>Скомпилировал и посмотрел, компилит он код с инициализацией через конструктор, которого я не объявлял или нет
WH>Код покажи.
Нефига он не генерирует, только ABC(const ABC &)... меня переглючило, я просто сейчас на трёх языках пишу и всё нужно срочно: невнимательно посмотрел, что сам написал и что имел ввиду
Извините. Вот код, который у меня компилировался — сам не понял, что хотел этим кодом сказать :
#include"stdafx.h"#include <conio.h>
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
struct CCC
{
int &b;
int &c;
CCC(int &a, int &d): b(a), c(d)
{
}
};
struct ABC
{
public:
int &a;
};
int _tmain(int argc, _TCHAR* argv[])
{
int k = 2; int c = 0;
CCC d(k, c);
ABC * D = (ABC *) &d;
ABC A(*D);
cout << A.a << endl;
k = 22;
cout << A.a << endl;
_getch();
return 0;
}
Здравствуйте, FDSC, Вы писали:
FDS>Но всё равно с int вполне можно и i++ использовать
Да, с int можно. С указателем можно. Только никто не обещает, что сегодняшний указатель завтра не превратится в какую-нибудь хитрозагнутою фигню. Как это случалось, например, с std::vector<>::iterator при переходе с VC 6 на VC 7. Ну и зачем искуственно создавать трудности? На оптимизатор особо надеятся тоже не следует — во-первых, выкинуть временный объект он сможет далеко не всегда. Во-вторых, желательно чтобы дебаг тоже работал не слишком медленно — потому что отлаживать обычно приходится именно его. Итого, имеем 2 варианта — 1) при наличии выбора использовать постфиксный инкремент для интегральных типов и префексный — во всех других местах. 2) при наличии выбора везде использовать префиксный инкремент. Разумеется, второй вариант практичнее. А ваше эстетическое чувство пострадает от обоих вариантов примерно одинаково Мое эстетическое чувство так вообще от первого варианта страдает больше. До кучи, в первом варианте еще и думать больше. То ли там с дуру так написали, то ли тип интегралный, то ли действительно результат оператора важен. Во втором — увидел постфикс, включается повышенное внимание — результат оператора сразу используется.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Erop, Вы писали: E>А какие выводы надо сделать?
Каждому свои
У меня от них отрицательные впечатления. 7 часов собеседование. Все мозги промыли своими алгоритмическими и логическими задачами. В конце сказали, что им требуется, всего навсего, разработчик графического интерфейса пользователя. За полгода не смогли дать ни какого ответа. Первые 3 месяца напоминал о себе, но получал шаблонный ответ, что решение не принято, ждите. Я сделал выводы о непривлекательности, для меня, такого не серьезного работодателя.
Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, puremind, Вы писали:
L>Кстати, а какой правильный ответ на вопрос, поставленный как "Неявное преобразование типов"? Требуется написать реферат или что?
Реферат? боже упаси там 4 или 5 правил всего определяющих приоритет преобразований ... сейчас посмотрю точно ..
Страуструп. $7.4 стр 192 ... я это имел ввиду .. да и то заученного ответа тоже не оджидается ... хотябы понимание проблемы ...
Здравствуйте, kittown, Вы писали:
P>>А это уже реальный косяк! .. =)
K>Не слишком. Полгода поработав на другом языке, подобную мелочевку (а это именно мелочевка, непринципиальные фичи) можно и забыть.
Единого мнения здесь быть не может, у меня одно у вас другое. Лично мое мнение что это фича — реально способно увеличить качество кода и скорость его отладки. Если вы с этим не согласны, то как говорится увы ... мы с вари разошлись во взгядах.
P>>и понимание основных механизмов языка (в мсдн-е не дают) это не тоже самое что и знание кактой то апишной функции которую действительно можно посмотреть в справочнике ....
K>Основные механизмы в C++ в точности те же, что и в обычном Си. От слова "основные". Все остальное — дополнительные и необязательные фичи. В некоторых компаниях они возводятся в фетиш и активно разбавляются не менее интересными внешними инструментами а-ля буст. В некоторых других компаниях значительная часть фич языка (вплоть до stl) просто запрещается к использованию, и никаких катастроф от этого не происходит. Это не самые существенные детали, и уж тем более не основы.
Вопрос, не в катастрофе а в эффективности. Некторые исповедуют одну методологию — другие другую. Я отчасти понимаю людей которые считают что сем проще тем лучше — но не всегда я ними согласен.
K>Я иногда принимаю экзамены по c++ для студентов, которые в силу бытия студентами знать его даже наполовину не могут в принципе. Из них многие легко ответят на ваши вопросы, а потом некоторые напишут вот это:
K>
Забавный код, но ведь вопросы — это всего лишь предварительный этап. И по мере продвижения вперед становятся сложнее и не только с теоретической точки зрения, но и с ... хм .. в общем вопрос для ответа на которые нужно иметь некоторый опыт в срефе деятельности.
Плюс есть испытательный срок.
Плюс Плюс — никто не застрахован от ошибок.
Кстати про код, он хорош по край ней мере в одном, с первого взгляда видно что он совершенно не эффективен — (ошибки не искал) ...
K>Михаил
Здравствуйте, FDSC, Вы писали:
FDS> Как только ушёл от этого языка — сразу забывать начинаешь.
Один китайский афоризм гласит (примерно):
"Вершу используют для ловли рыбы: когда рыба поймана,
вершу отбрасывают. Силок нужен — чтобы поймать
зайца: когда заяц пойман, про силок забывают.
Слова нужны — чтобы познать смысл: когда смысл
познан — слова забывают. Где мне найти человека,
забывшего слова, чтобы поговорить с ним!".
Ситуация когда "знал, но подзабыл делати" — не страшна.
Главное знание принципов и базы, понимание как все
это работает и создается. Остальное "вытаскивается
из кэша" при подготовке к выполнению конкретного
задания, с учетом требований и набора технологий,
которые планируется использовать в конкретно этом
проекте.
FDS> Мне безразлично на каком языке я программирую, но это не FDS> значит, что я знаю все тонкости и даже просто все FDS> основные концепции программирования на C++, хотя FDS> писал на нём нормально работающие программы.
Язык (как язык общения, так и язык программирования)
представляет собой прикладное средство, предназначенное
для решения конкретных проблем. Средства языка не
являются равнозначными: какие-то вещи более важны
и их используют все — другие использует один процент
программерского населения. Существует некоторое
минимальное подмножество, которое реально необходимо
и достаточно для написания качественного и отвечающего
требованиям приложения кода — остальное для супер-пупер-
теоретиков — лингвистов — знатоков стандартов "с закрытыми
глазами", носителей "идеологии" языка — его развивателей
и (нас практиков) просветителей.
FDS> Для того, что бы знать C++ мне нужно программировать FDS> на нём нечто относительно сложное и в коллективе, FDS> что бы шёл обмен опытом.
Плюс к этому — практически в каждом коллективе это будет
свой собственный "диалект" С++. Свой набор (суб)технологий.
Свой набор библиотек, которые в свою очередь также
оказывают существенное влияние на С++-язык говорящих.
Здравствуйте, puremind, Вы писали:
P>Единого мнения здесь быть не может, у меня одно у вас другое. Лично мое мнение что это фича — реально способно увеличить качество кода и скорость его отладки. Если вы с этим не согласны, то как говорится увы ... мы с вари разошлись во взгядах.
Ну, скажем, если я забыл какую-то возможность языка, но помню о её существовании, то я всё равно смогу её применить
Здравствуйте, FDSC, Вы писали:
FDS>Здравствуйте, puremind, Вы писали:
P>>Единого мнения здесь быть не может, у меня одно у вас другое. Лично мое мнение что это фича — реально способно увеличить качество кода и скорость его отладки. Если вы с этим не согласны, то как говорится увы ... мы с вари разошлись во взгядах.
FDS>Ну, скажем, если я забыл какую-то возможность языка, но помню о её существовании, то я всё равно смогу её применить
Можно чтото и забыть, но инициализация членов класс к таким фичам явно не относится.
Можно например забыть про частичную специализацию — где она есть а где ее нет =)
Здравствуйте, trophim, Вы писали:
T>Хочу 1,5 и больше. Про шаблоны говорить не буду. Переманите меня из Ростова.
Не разменивайся. С твоим опытом В С++ можно больше 2000 сразу поднять. Научись себя больше ценить.
Здравствуйте, puremind, Вы писали:
L>>Кстати, а какой правильный ответ на вопрос, поставленный как "Неявное преобразование типов"? Требуется написать реферат или что? P>Реферат? боже упаси там 4 или 5 правил всего определяющих приоритет преобразований ... сейчас посмотрю точно .. P>Страуструп. $7.4 стр 192 ... я это имел ввиду .. да и то заученного ответа тоже не оджидается ... хотябы понимание проблемы ...
Мне подобные вопросы всегда напоминают анекдот про сороконожку, у которой спросили, как они умудряется одновременно передвигать все свои сорок ног
Здравствуйте, FDSC, Вы писали:
FDS>Здравствуйте, deniok, Вы писали:
D>>Ага, давай закладывайся на это. Потом, после релиза, будешь долго объяснять, что у тебя в дебаге всё работало...
FDS>Не понял о чём речь. Эти случаи были в Delphi, которая не делит как VisualStudio версии на релизные и отладочные. Когда я программирую на C++ ПРАКТИЧЕСКИ НИКОГДА не использую отладочный режим: он усложняет отладку
А как же Вы "неотладочный код" отлаживаете?
О! Есть еще один специфический "геммор": включаемая в релизной сборке система защиты от отладки-взлома-нелицензионного ипользования Т.е. релизный код неотлаживаемый _в_принципе_ — непригоден для отдадки и все тут. Вот тут-то и приходится "изворачиваться и подпрыгивать"...
FDS>К тому же, я всегда тестирую то, что даю другим, именно тот exe-файл, который даю, потому что часто бывает, что случайно забыл положить что-то в архив в спешке, или случайно взял не ту версию файла, или ещё что-нибудь в этом духе обнаруживается
А при чем тут, собсвенно, тестирование? Тестируется релизная версия — это и коню понятно — зачем тестерам отладочную версию "тестировать"?
Здравствуйте, The Lex, Вы писали:
TL>Здравствуйте, FDSC, Вы писали:
FDS>>Не понял о чём речь. Эти случаи были в Delphi, которая не делит как VisualStudio версии на релизные и отладочные. Когда я программирую на C++ ПРАКТИЧЕСКИ НИКОГДА не использую отладочный режим: он усложняет отладку
TL>А как же Вы "неотладочный код" отлаживаете?
Здравствуйте, Александр Каширин, Вы писали:
АК>Здравствуйте, The Lex, Вы писали:
TL>>Здравствуйте, FDSC, Вы писали:
FDS>>>Не понял о чём речь. Эти случаи были в Delphi, которая не делит как VisualStudio версии на релизные и отладочные. Когда я программирую на C++ ПРАКТИЧЕСКИ НИКОГДА не использую отладочный режим: он усложняет отладку
TL>>А как же Вы "неотладочный код" отлаживаете?
АК>Я бы предположил, что по логам.
Я тоже, но тогда стоит н-ное количество вопросов, начиная с вопроса производительности и заканчивая вопросом ограничения логгирования у конечного клиента...
Здравствуйте, Ulter, Вы писали:
U>У меня от них отрицательные впечатления.
А у меня — положительные
U>7 часов собеседование. Все мозги промыли своими алгоритмическими и логическими задачами.
Есть такое.
U>В конце сказали, что им требуется, всего навсего, разработчик графического интерфейса пользователя.
Точно? Или может сказали, что нужен разработчик в _группу_ пользовательского интерфейса? Это не совсем то же самое
U>За полгода не смогли дать ни какого ответа. Первые 3 месяца напоминал о себе, но получал шаблонный ответ, что решение не принято, ждите.
Странно.. А давно ли это было? Есть подозрение, что впечатления сильно устарели..