Именно потому я и говорю что тебе просто везёт ... (см. выше кусок цитаты)Screaming Lord писал(а):Я купил (или украл) VC++, зачем мне тратить деньги (или воровать) на другой компилятор? VC++ - это средство разработки Windows-приложений, если я выбрал VC++, значить собираюсь разрабатывать именно Windows-приложения, а не Линукс или ... Тогда о каком переносе идёт речь?PS писал(а):Я кажется понял. Ты имеешь возможность использовать нестандартные фичи, к-рые понимает один компилятор, работающий под одной операционной системой, к-рая работает на одной аппаратной платформе. Тебе просто везёт. Отсюда и такое отношение к стандартам.
У меня, как правило, немного другая цепочка.
Приходит задача. Решается вопрос о требуемой аппаратной платформе. Решается вопрос об операционной системе, работающей на данной аппаратной платформе. Выбирается интрумент для решения данной задачи на данной платформе в рамках данной ОС. Далее происходит решение задачи.
При выборе естественно отдаётся предпочтение инструменту, имеющему максимально широкий охват ОС и платформ, потому как в рамках решения задачи для отработки отдельных частей могут быть задействованы различные наборы аппаратно-программных средств. При написании кода в рамках стандарта все эти переходы проходят более менее безболезненно.
Приведу аналогию. Едем по трассе на машине. Впереди едет нечто типа трактора. Слева сплошная полоса (стандарт). Фигня. Руль влево. Полкорпуса на встречку (расширили стандарт). Обогнали. Здорово. И так несколько раз. К этому привыкаешь. Очередная фигня на дороге. По привычке - руль влево, а там вместо разделительной полосы бетонный забор (другая аппаратная платформа/ОС/производитель компилятора решил убрать расширение как несоответствующее стандарту).
=====
По коду темплейта. Странно. Я же вроде показал как можно используя **стандартные** средства иметь **ту же** **функциональность**
Вариант #1
- Код: Выделить всё
CValue val;
val.Value = 50;
- Код: Выделить всё
CValue val;
val.put(50);