<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896103</guid>
        <pubDate>Tue, 11 Mar 2008 16:18:33 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896103</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895344'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:13:07+03:00">11.03.08, 09:13</time></span><div class='quote '>Так, поднимаешь взор на заголовок браузера и видишь </div></div>Вообще то разговор защел о <em class='tag-i'>char</em>, а не о типе плюсов <em class='tag-i'>string</em>, являющегося всего лишь надстройкой ;) А с <em class='tag-i'>char</em> ты можеш работать только через всякие <em class='tag-i'>strXXX</em>.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895716'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:39:49+00:00">11.03.08, 12:39</time></span><div class='quote '>На примере с С++: есть Стандарт(Его Величество), а есть куча разных компиляторов - т.н. conforming implementation. Но не все из них conforming - скажем, Borland C++ Builder 6 сильно далёк от стандарта(из-за своей древности). Т.о. если ты будешь критиковать конкретно BCB, то я скажу тебе выкинь BCB и обрати взор на Стандарт - там то-то и то-то можно делать так-то и так-то.</div></div>Особенно умиляют попытки компиляции проектов разными компиляторами, постоянно появляются какие то мистические глюки. Не так давно просматривал тему, об эмуляции BGI-графики. Меня до слез прошибала &quot;совместимость&quot; различных компиляторов, а порой и вообще мистические требования, вроде тех, что бы последняя строка в сорсах обязательно заканчивалась &lt;CR&gt;, или просьбой убрать определенные конструкции, хоть и в соответствии со стандартом, но вносящие определенные проблемы в разных компиляторах :lol: И это компиляторы, поддерживающие стандарт ;) Да ладно бы не компилилось, а то ведь и скушает компилятор, а прога не пашет, хотя другой компилер выдал рабочий код :lool: И это нормально? Главное причина то на поверхности - слишком объемный стандарт, на изучение которого нужна уйма времени, отсюда и ошибки растут. Что нет? А как тогда объяснить нарушение принципа блочной структуры программ, это когда операторы, которые должны принадлежать к одному блоку программы(тот же switch...case), можно смело разнести в разные блоки? И компилятор обязан это проглотить, поскольку этот баг обнаружили слишком поздно, вот и внесли в стандарт, для совместимости :) Вообще это неправильно как то. Если утверждается, что плюсы новый язык, то зачем было вводить в него поддержку Си? Наверное просто побоялись, что новый язык не приживется, вот и кинули косточку Сишникам, для безболезненного перехода :) <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895767'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:08:35+00:00">11.03.08, 13:08</time></span><div class='quote '>И я думаю - это правильно. Так как если введение стандарта будет иметь смысл - уверен, это будет сделано.</div></div>Вот здесь не соглашусь. Это приводит к тому, что всякие Free Pascal просто не успевают за Дельфи, совместимость с которым они бы рады обеспечить. Самый удачный стандарт встречал у Форта. Там есть минимальный список правил, а так же рекомендуемый, но не обязательный. И это позволяет писать компиляторы заточенные под разные задачи, с базовой совместимостью.]]></description>
        <author>AndNot</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896039</guid>
        <pubDate>Tue, 11 Mar 2008 15:15:00 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896039</link>
        <description><![CDATA[Flex Ferrum: А с введением нового стандарта из него исчезнет ряд заморочек, и ты вполне можешь написать так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void foo()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; auto some_var = Something.GetAnotherSomething(); // тип some_var будет определен автоматически компилятором</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; // ... что-то еще делаем</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896037</guid>
        <pubDate>Tue, 11 Mar 2008 15:14:46 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896037</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Я рассуждаю с той точки зрения, что ты утверждаешь, мол &quot;это проблема компилятора, а не языка&quot;.</div></div><br>
Скорее всего да. Потому что по всей видимости:<br>
1. Так сложилось исторически<br>
2. В Borland не придумали как это реализовать в <strong class='tag-b'>компиляторе</strong>. Как это реализовать в языке - очевидно.<br>
3. На это есть некие объективные причины, о которых мне неизвестно.<br>
Да и в любом случае, это не такая уж серьезная проблема :) <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>К примеру, на С++ у меня на это ушло бы 15-20 мин.</div></div><br>
<br>
А у меня на Delphi 15-20 минут бы занял полиморфный код сериализации объектов. Ну, универсальный код, который позволяет сохранить/восстановить состояние любого объекта, который бы ты ему не подсунул. Причем в классах этих объектов не нужно было бы писать какой-либо специальный код ;) А смог бы ты это сделать на C++? Я это к тому, что может не стОит меряться таким способом, у слона все равно длиннее.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896022</guid>
        <pubDate>Tue, 11 Mar 2008 15:07:09 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896022</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1896008'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T15:00:08+00:00">11.03.08, 15:00</time></span><div class='quote '>Зато посмотрим, где будет твой C++ через 10 лет :) Уже очевидно, что для решения прикладных задач он как правило не является наиболее удобным инструментом.</div></div><br>
Это до тех пор, пока не произойдет консолидация имеющегося для С++ набора библиотек, решающих те или иные прикладные задачи. Те же Delphi, Javа и C# хороши своими фрейморками. Как языки - они да, достаточно просты, но C++ (при существующем уровне информации о нем) не многим сложнее. В любом случае, сейчас вести разработку тех же desktop-приложений на нем не многим сложнее.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896009</guid>
        <pubDate>Tue, 11 Mar 2008 15:00:15 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896009</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895989'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:48:02+00:00">11.03.08, 14:48</time></span><div class='quote '>Ты рассуждаешь с той точки зрения, что язык стандартизован :) Это не так. </div></div><br>
Я рассуждаю с той точки зрения, что ты утверждаешь, мол &quot;это проблема компилятора, а не языка&quot;. А что такое язык? Язык это либо Стандарт, либо спецификация. Кстати, где эту спецификацию увидеть можно?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895994'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:52:36+00:00">11.03.08, 14:52</time></span><div class='quote '>ДАется как пример того, что тебе надо. А задачи переписывания СОМ у меня еще не стояло.</div></div><br>
Ну дык давай уже.<br>
А COM - я тебя не прошу его переписывать, я лишь прошу показать мне что это возможно. К примеру, на С++ у меня на это ушло бы 15-20 мин.]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896008</guid>
        <pubDate>Tue, 11 Mar 2008 15:00:08 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896008</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А как будут обстоять дела с совместимостью?</div></div><br>
<br>
Пока никто не жалуется. Зато посмотрим, где будет твой C++ через 10 лет :) Уже очевидно, что для решения прикладных задач он как правило не является наиболее удобным инструментом. Только системные задачи он пока решает максимально эффективно. А задача системщиков - это обсуживание прикладников, так как погодой управляют последние :)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896000</guid>
        <pubDate>Tue, 11 Mar 2008 14:54:44 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1896000</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895989'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:48:02+00:00">11.03.08, 14:48</time></span><div class='quote '>А вот когда стандарта нет - язык проще адаптировать.</div></div><br>
Чем проще то? А как будут обстоять дела с совместимостью?]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895994</guid>
        <pubDate>Tue, 11 Mar 2008 14:52:36 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895994</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895982'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:45:20+00:00">11.03.08, 14:45</time></span><div class='quote '>Ты её сам писал? Или она в язык встроена? Если сам, то устроит, конечно.</div></div><br>
ДАется как пример того, что тебе надо. А задачи переписывания СОМ у меня еще не стояло.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895989</guid>
        <pubDate>Tue, 11 Mar 2008 14:48:02 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895989</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вот здесь то ты и ошибаешься</div></div><br>
<br>
А я думаю, что не ошибаюсь :) Ты рассуждаешь с той точки зрения, что язык стандартизован :) Это не так. Язык от версии к версии различается, не то, что от разных производителей :) То, что язык не имеет стандарта, безусловно, имеет некоторые недостатки. Но и преимущества, которые на мой взгляд их перевешивают. По крайней мере пока, в условиях одного поставщика компиляторов и очередной назревающей революцией в ЯП.  ;) <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Так то совсем другие языки. Это нормально...</div></div><br>
<br>
Конечно нормально. Появилась новая технология - появился новый язык. Потому что изменить стандарт - это требует немалых усилий, куда проще новый язык придумать :) А если эта новая технология заместит старую, то язык уйдет в небытие :) А вот когда стандарта нет - язык проще адаптировать. Я же говорю, отрасль - молодая и бурноразвивающаяся, новые технологии будут появляться очень часто. Вот когда (если) ситуация утрясется - может и будет иметь смысл вводить стандарты на Delphi.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895982</guid>
        <pubDate>Tue, 11 Mar 2008 14:45:20 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895982</link>
        <description><![CDATA[archimed7592: <strong class='tag-b'>Romkin</strong>, ты не понял. Ок, более конкретно.<br>
Есть два класса: Class1 и Class2.<br>
Я должен мочь создавать объекты этих классов в неограниченном количестве(посредством ф-ции CreateELOObject).<br>
Я должен мочь вызывать методы  Foo и Bar класса Class1 и метод FooBar класса Class2. Причём, особенностью технологии будет то, что можно будет неспецифицировать кол-во аргументов для метода. Т.о. методы должны принимать все переданные аргументы и выводить их(в порядке передачи :)) в текстовый файлик. Также они должны выводить что вызван конкретно этот метод(Foo, Bar или FooBar), имя типа(Class1 или Class2) и номер объекта(в порядке их создания). В идеале хотелось бы нечто более продвинутое: текстовый файлик classes.txt вида<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ClassName1 DescriptorFileName1.txt</div><div class="code_line">ClassName2 DescriptorFileName2.txt</div><div class="code_line">ClassName3 DescriptorFileName3.txt</div></ol></div></div></div></div><br>
И соответствено файлы-описатели конкретных классов вида:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Foo</div><div class="code_line">Bar</div></ol></div></div></div></div><br>
или<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">FooBar</div></ol></div></div></div></div><br>
<br>
Осилишь? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T14:47:28+00:00">11.03.08, 14:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895961'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:32:18+00:00">11.03.08, 14:32</time></span><div class='quote '>Реализация комплексных чисел тебя устроит?</div></div><br>
Ты её сам писал? Или она в язык встроена? Если сам, то устроит, конечно.]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895975</guid>
        <pubDate>Tue, 11 Mar 2008 14:41:15 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895975</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:26:46+00:00">11.03.08, 14:26</time></span><div class='quote '>Смотри, варианты, строки, дин. массивы и интерфейсы реализуют ref-counting. Т.е. 4 разных вида сущности. Я хочу добавить 5-й вид аля дин. число(для точных вычислений, к примеру), как мне это сделать?</div></div><br>
За что мне нравицца C++, так это за малое число магических операторо-функций и эффектов :)]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895961</guid>
        <pubDate>Tue, 11 Mar 2008 14:32:18 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895961</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895938'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:23:06+00:00">11.03.08, 14:23</time></span><div class='quote '>Romkin, пример можно? Какой-нибудь примитивный. Чтобы:<br>
1. я мог создавать объекты разного рода(типа Excel или AutoCAD) - т.е. выполняющие несколько разные ф-ции.<br>
2. я мог вызывать разные методы этих объектов(как выше).<br>
3. результаты всей этой эмуляции сохранялись бы в текстовый файлик.</div></div><br>
То есть, предлагаешь мне реализовать что-то вроде СОМ? Не слишком ли? <br>
Примера с комплексными числами тебе мало? В файл я их тоже могу и сохранить, и прочитать. Свойства и методы вызвать... <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T14:36:08+00:00">11.03.08, 14:36</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:26:46+00:00">11.03.08, 14:26</time></span><div class='quote '>Т.е. 4 разных вида сущности. Я хочу добавить 5-й вид аля дин. число(для точных вычислений, к примеру), как мне это сделать?</div></div><br>
Ау&#33; Реализация комплексных чисел тебя устроит?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895949</guid>
        <pubDate>Tue, 11 Mar 2008 14:26:46 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895949</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895910'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:14:36+00:00">11.03.08, 14:14</time></span><div class='quote '>1. Через интерфейсы<br>
2. Через варианты.<br>
</div></div><br>
Смотри, варианты, строки, дин. массивы и интерфейсы реализуют ref-counting. Т.е. 4 разных вида сущности. Я хочу добавить 5-й вид аля дин. число(для точных вычислений, к примеру), как мне это сделать?]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895941</guid>
        <pubDate>Tue, 11 Mar 2008 14:23:47 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895941</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895864'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:00:00+00:00">11.03.08, 14:00</time></span><div class='quote '>ISC, объясни мне тогда причину появления языка C#? А языка PHP? Чем стандартный C++ тут не подходил? </div></div><br>
Так то совсем другие языки. Это нормально...<br>
Но так или иначе у них как понимаю есть тоже свои стандарты. Может не так явно публикуемые из-за меньшего отношения тех языков к низкоуровневому или системному программированию. Ведь, чем более широкого назначения язык, тем более его средства должны быть узаконены]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895938</guid>
        <pubDate>Tue, 11 Mar 2008 14:23:06 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895938</link>
        <description><![CDATA[archimed7592: <strong class='tag-b'>Romkin</strong>, пример можно? Какой-нибудь примитивный. Чтобы:<br>
1. я мог создавать объекты разного рода(типа Excel или AutoCAD) - т.е. выполняющие несколько разные ф-ции.<br>
2. я мог вызывать разные методы этих объектов(как выше).<br>
3. результаты всей этой эмуляции сохранялись бы в текстовый файлик.]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895910</guid>
        <pubDate>Tue, 11 Mar 2008 14:14:36 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895910</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895893'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:09:57+00:00">11.03.08, 14:09</time></span><div class='quote '>1. Это возможно?<br>
2. Это возможно без хаков над языком/компилятором?<br>
3. Это возможно реализовать на Delphi или понадобится внешняя прослойка на С/C++?</div></div><br>
1,2 - да. Если речь идет о вариантах с поздним связыванием.<br>
3. А это уже зависит от того, как реализуешь. Ты должен дать способы работы, по меньшей мере - способы создания и вызова методов, которые я мог бы сделать из Delphi. Дашь - будет так же. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T14:20:08+00:00">11.03.08, 14:20</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895893'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T14:09:57+00:00">11.03.08, 14:09</time></span><div class='quote '>Славно, как мне реализовать 3-юю(4-ую, 5-ую, ... N-ую) сущность с автоматическим управлением памяти?</div></div><br>
1. Через интерфейсы<br>
2. Через варианты.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895893</guid>
        <pubDate>Tue, 11 Mar 2008 14:09:57 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895893</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895720'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:46:50+00:00">11.03.08, 12:46</time></span><div class='quote '>вынуждает программиста явно работать с данной реализацией.</div></div><br>
Нет, не вынуждает.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895720'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:46:50+00:00">11.03.08, 12:46</time></span><div class='quote '>Почему не применили имеющуюся реализацию?</div></div><br>
Ладно, как обещал, упомянутые мною реализации строк:<br>
1. Стандартная. Ну, она и в Африке стандартная.<br>
2. STLport. STLport - это замена почти всей стандартной библиотеки С++(как правило, в лучшую сторону). В т.ч. и реализации строк. BTW, реализация STLport - одна из самых шустрых.<br>
3. Qt. С Qt история такая: Qt может использоваться на платформах на которых нет STL(да, бывает и такое кастрированное environment), соответственно Qt предоставляет собственную реализацию строк. BTW, она предоставляет ещё и QVector, QMap, QSet and so on.<br>
4. ICU. International Components for Unicode - есть как для Java, так и для С++. Эта реализация полезна для работы с разными кодировками, но, если ничего не мешает, то можно исползовать эту реализацию как основную, особенно учитывая возможности i18n.<br>
5. Про CString меня не спрашивайте - я её не упомянал и не использую(как и MFC в целом). Ничего не забыл?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895725'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:51:14+00:00">11.03.08, 12:51</time></span><div class='quote '>Руководствоваться - будешь, но тебе никто не запретит в совем компиляторе идентифицировать интерфейсы неявно :)</div></div><br>
Вот здесь то ты и ошибаешься :). Смотри, я сделал так, что интерфейсы будут работать как полагается без UIID&#39;ов. Отлично, написал Вася Пупкин тысячи строк кода используя мой компилятор. И вот, в один прекрасный день ему захотелось откомпилировать компилятором от Borland(к примеру, потому, что он делает более быстрый код) - а хрен бы там. Откомпилировать он сможет, ибо в другом компиляторе интерфейсы без UIID кастрированы. Иначе говоря, компилятор может предоставлять кучу расширений языка, но это будет именно расширениями и к языку отношения не имеют(пример: closure из BCB). Что же касается UIID&#39;ов - это недостаток языка, а не расширение компилятора :).<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895705'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:26:48+00:00">11.03.08, 12:26</time></span><div class='quote '>И что дальше?</div></div><br>
А дальше вот что :).<br>
Скажи мне любезный, сделал я свою технологию ELO/MOC(OLE/COM задом наперёд) и захотел добавить в любимый язык(Delphi) такие же шикарные возможности, чтобы можно было проделать то же самое, но ориентируясь на мои новые технологии ELO/MOC.<br>
1. Это возможно?<br>
2. Это возможно без хаков над языком/компилятором?<br>
3. Это возможно реализовать на Delphi или понадобится внешняя прослойка на С/C++? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T14:13:47+00:00">11.03.08, 14:13</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895847'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:50:50+00:00">11.03.08, 13:50</time></span><div class='quote '>Не идет оно в разрез. Строки и динамические массивы - также типы с автоматическим управлением памяти.</div></div><br>
Славно, как мне реализовать 3-юю(4-ую, 5-ую, ... N-ую) сущность с автоматическим управлением памяти?]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895864</guid>
        <pubDate>Tue, 11 Mar 2008 14:00:00 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895864</link>
        <description><![CDATA[--Ins--: <strong class='tag-b'>ISC</strong>, объясни мне тогда причину появления языка C#? А языка PHP? Чем стандартный C++ тут не подходил? ;)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895862</guid>
        <pubDate>Tue, 11 Mar 2008 13:58:40 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895862</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895856'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:55:41+00:00">11.03.08, 13:55</time></span><div class='quote '>Ты отраслью ошибся  Не тот случай </div></div><br>
Ну как же? Ну давай кажды придумает себе грамматику под свои удобства, как люди будут обмениваться кодами для ускорения производства конечных программ?<br>
Или я неправильно понял твою мысль о стандартах в языках программирования?]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895856</guid>
        <pubDate>Tue, 11 Mar 2008 13:55:41 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895856</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Странно. Вроде как стандартные болтики, винтики, гаечки никак не тормозят прогресс, а только способствуют скорейшему развитию.</div></div><br>
<br>
Ты отраслью ошибся :) Не тот случай :)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895854</guid>
        <pubDate>Tue, 11 Mar 2008 13:55:32 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895854</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895832'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:45:47+00:00">11.03.08, 13:45</time></span><div class='quote '>С точки зрения внешнего наблюдателя, IBar является интерфейсом объекта TMy, а не вложенного в него подобъекта. А потому все изменения ссылок должны затрагивать объект-хозяин, а не вложенный в него объект.</div></div><br>
Совершенно не факт. Мне как раз понадобилась оболочка, время жизни которой контролируется мной (элемент коллекции), реализующая интерфейс, который передается наружу. А сточки зрения наблюдателя - он вообще не должен делать предположений, какому объекту принадлежит данный интерфейс&#33;<br>
А вот в приведенном выше примере - да, ins совершенно правильно заметил, реализация должна идти через агрегацию. Не из-за подсчета ссылок, а из-за требования обеспечения симметрии интерфейсов.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895847</guid>
        <pubDate>Tue, 11 Mar 2008 13:50:50 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895847</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>идя в этом вразрез с принятой в Delphi стратегией управления памятью?</div></div><br>
<br>
Не идет оно в разрез. Строки и динамические массивы - также типы с автоматическим управлением памяти.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895843</guid>
        <pubDate>Tue, 11 Mar 2008 13:50:01 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895843</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895767'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:08:35+00:00">11.03.08, 13:08</time></span><div class='quote '>Если язык не будет успевать с ней в ногу - он устареет и умрет. Вводить стандарт - это тормоз в развитии языка.</div></div><br>
Странно. Вроде как стандартные болтики, винтики, гаечки никак не тормозят прогресс, а только способствуют скорейшему развитию.]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895832</guid>
        <pubDate>Tue, 11 Mar 2008 13:45:47 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895832</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895817'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:41:29+00:00">11.03.08, 13:41</time></span><div class='quote '>Само собой :) А медведь живет в лесу :) И что с того?</div></div><br>
А почему интерфейсы вообще реализуют подсчет ссылок, идя в этом вразрез с принятой в Delphi стратегией управления памятью? :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:48:15+00:00">11.03.08, 13:48</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895830'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:45:31+00:00">11.03.08, 13:45</time></span><div class='quote '>Неа. Не придет. Все дело в том, что присвоение FBar инкрементирует счетчик реализации в TBarImpl (это интерфейс). И пока FBar не станет nil - все работает.<br>
</div></div><br>
Тут не все так просто. Когда клиент берет указатель на интерфейс, он, вообще говоря, не знает - как именно этот интерфейс будет получен и от кого. С точки зрения внешнего наблюдателя, IBar является интерфейсом объекта TMy, а не вложенного в него подобъекта. А потому все изменения ссылок должны затрагивать объект-хозяин, а не вложенный в него объект.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895830</guid>
        <pubDate>Tue, 11 Mar 2008 13:45:31 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895830</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895802'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:34:34+00:00">11.03.08, 13:34</time></span><div class='quote '>Нет. В случае FBar := TBarImpl.Create никаких coCreateInstance. По причине полной бессмысленности: интерфейс не опубликован. Ну и по причине того, что и о самой CoCreateInstance ничего не известно. Никаких коклассов.<br>
<br>
<br>
Цитата (--Ins-- @ Сегодня, 16:32)<br>
Обычный вызов конструктора (таки да, с ненулевым параметром, ссылающийся на внешний объект).<br>
<br>
Добавлено Сегодня, 16:35<br>
В противном случае AddRef и Release у тебя не будут корректно работать, и объект может придти в совершенно несогласованное состояние.</div></div><br>
<br>
Неа. Не придет. Все дело в том, что присвоение FBar инкрементирует счетчик реализации в TBarImpl (это интерфейс). И пока FBar не станет nil - все работает.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895817</guid>
        <pubDate>Tue, 11 Mar 2008 13:41:29 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895817</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>В противном случае AddRef и Release у тебя не будут корректно работать, и объект может придти в совершенно несогласованное состояние.</div></div><br>
<br>
Само собой :) А медведь живет в лесу :) И что с того? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:45:08+00:00">11.03.08, 13:45</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Тогда зачем, объясни мне, передавать указатель на outer-объект?</div></div><br>
<br>
Потому что согласно правилам языка, интерфейсы - автоматически финализируемые типы данных. Для них ведется подсчет ссылок, как и для строк. И все эти махинации нужны для того, чтобы как вы сами сказали, объект не пришел в несогласованное состояние. Все ли верно? Если да, то где тут вы видите слово COM?]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895816</guid>
        <pubDate>Tue, 11 Mar 2008 13:40:50 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895816</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895814'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:39:16+00:00">11.03.08, 13:39</time></span><div class='quote '>TAggregatedObject не связан с TComObject никаким боком :) А COM начинается именно с TComObject. Классы TInterfacedObject, TContainedObject, TAggregatedObject с COM не связаны никак, они даже в объявлении не содержат слово IUnknown, а IInterface (TAggregatedObject вообще не реализует никаких интерфейсов), чтобы подчеркнуть свою независимость от COM.</div></div><br>
Тогда зачем, объясни мне, передавать указатель на outer-объект? ;)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895815</guid>
        <pubDate>Tue, 11 Mar 2008 13:39:44 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895815</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895685'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:19:46+00:00">11.03.08, 12:19</time></span><div class='quote '>А как насчёт void foo(char *, int, char, double ***);</div></div><br>
Ну так это как понимаю обьявление аргументов функции, а не определение переменных в программе которое обсуждаем.]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895814</guid>
        <pubDate>Tue, 11 Mar 2008 13:39:16 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895814</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Потому что<br>
<br>
Цитата (--Ins-- @ Сегодня, 16:24)<br>
Все верно. Тут нужно либо самому вложить такое поведение в агрегат (не путаю термины?), либо унаследовать его от TAggregatedObject, где все это уже реализовано.</div></div><br>
<br>
TAggregatedObject не связан с TComObject никаким боком :) А COM начинается именно с TComObject. Классы TInterfacedObject, TContainedObject, TAggregatedObject с COM не связаны никак, они даже в объявлении не содержат слово IUnknown, а IInterface (TAggregatedObject вообще не реализует никаких интерфейсов), чтобы подчеркнуть свою независимость от COM.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895813</guid>
        <pubDate>Tue, 11 Mar 2008 13:38:53 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895813</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895699'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:23:30+00:00">11.03.08, 12:23</time></span><div class='quote '>Не надо мне особой корректности. Сойдёт что-то вроде<br>
var app, wb, ws:variant;<br>
begin<br>
app = CreateObject(&#39;Application.Excel&#39;);<br>
wb = app.Workbooks.Add;<br>
ws = wb.Worksheets[1];<br>
ws.Range(&#39;B7&#39;).Value = 99;<br>
ws.Range(&#39;A3&#39;).Value = &#39;abc&#39;;<br>
end.<br>
Подкорректируйте до работоспособности.</div></div><br>
Возвращаясь к вялотекущим обсуждениям. Сравни с отрывком:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;V, A: Variant;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;V := varComplexCreate;</div><div class="code_line">&nbsp;&nbsp;V.Real := 1;</div><div class="code_line">&nbsp;&nbsp;V.Imaginary := 1;</div><div class="code_line">&nbsp;&nbsp;A := V + 1;</div><div class="code_line">&nbsp;&nbsp;ShowMessage(A);</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895802</guid>
        <pubDate>Tue, 11 Mar 2008 13:34:34 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895802</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:32:38+00:00">11.03.08, 13:32</time></span><div class='quote '>Нет. В случае FBar := TBarImpl.Create никаких coCreateInstance. По причине полной бессмысленности: интерфейс не опубликован. Ну и по причине того, что и о самой CoCreateInstance ничего не известно. Никаких коклассов.</div></div><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:32:38+00:00">11.03.08, 13:32</time></span><div class='quote '>Обычный вызов конструктора (таки да, с ненулевым параметром, ссылающийся на внешний объект).</div></div><br>
 ;) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:35:23+00:00">11.03.08, 13:35</time></span></span><br>
В противном случае AddRef и Release у тебя не будут корректно работать, и объект может придти в совершенно несогласованное состояние.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895801</guid>
        <pubDate>Tue, 11 Mar 2008 13:33:10 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895801</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895788'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:29:01+00:00">11.03.08, 13:29</time></span><div class='quote '>Подозреваю, что при этом inner-объекту делается специальный вызов CoCreateInstance (с ненулевым параметром pOuter), и прочее. </div></div><br>
Нет. В случае FBar := TBarImpl.Create никаких coCreateInstance. По причине полной бессмысленности: интерфейс не опубликован. Ну и по причине того, что и о самой CoCreateInstance ничего не известно. Никаких коклассов.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895799</guid>
        <pubDate>Tue, 11 Mar 2008 13:32:38 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895799</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Имеет, конечно, но, я думаю, ноги растут именно оттуда.</div></div><br>
Никто и не спорит. Но если идея удачна и ложится в концепцию языка, то почему бы ее не позаимствовать? ;)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Подозреваю, что при этом inner-объекту делается специальный вызов CoCreateInstance (с ненулевым параметром pOuter)</div></div><br>
ВНЕ технологии COM - никакого coCreateInstance. Обычный вызов конструктора (таки да, с ненулевым параметром, ссылающийся на внешний объект).]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895791</guid>
        <pubDate>Tue, 11 Mar 2008 13:30:20 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895791</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895782'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:24:25+00:00">11.03.08, 13:24</time></span><div class='quote '>(не путаю термины?)</div></div><br>
В данном случае проще оперировать терминами inner и outer. Так понятнее. :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:31:20+00:00">11.03.08, 13:31</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895790'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:30:08+00:00">11.03.08, 13:30</time></span><div class='quote '>И почему именно СОМ aggregation? </div></div><br>
Потому что<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895782'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:24:25+00:00">11.03.08, 13:24</time></span><div class='quote '>Все верно. Тут нужно либо самому вложить такое поведение в агрегат (не путаю термины?), либо унаследовать его от TAggregatedObject, где все это уже реализовано.</div></div><br>
 ;) <br>
Реализовать это на уровне языка можно и более прозрачным способом. :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:32:38+00:00">11.03.08, 13:32</time></span></span><br>
Видишь, я даже не зная деталей того, как это непосредственно реализовано в Delphi, &quot;бью в яблочко&quot; своими предположениями. Догадайся с трех раз - почему? :)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895790</guid>
        <pubDate>Tue, 11 Mar 2008 13:30:08 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895790</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:16:59+00:00">11.03.08, 13:16</time></span><div class='quote '>Еще один привет от технологии COM - а именно, реализация COM Aggregation. </div></div><br>
Да. Только я не подключаю СОМ, если работаю с внутренним объектом. И почему именно <strong class='tag-b'>СОМ</strong> aggregation? Delphi aggregation&#33;]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895788</guid>
        <pubDate>Tue, 11 Mar 2008 13:29:01 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895788</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895782'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:24:25+00:00">11.03.08, 13:24</time></span><div class='quote '>А что, агрегация вне технологии не имеет смысл?</div></div><br>
Имеет, конечно, но, я думаю, ноги растут именно оттуда. Подозреваю, что при этом inner-объекту делается специальный вызов CoCreateInstance (с ненулевым параметром pOuter), и прочее. Что, кстати, с точки зрения языка лишено смысла, т. к. реализацию интерфейса посредством композиции (на языковом уровне) можно реализовать и иначе. Ибо в данном случае класс, реализующий интерфейс, совсем не обязан быть CoClass&#39;ом (что требуется для корректной работы CoCreateInstance). Ну и прочее...]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895782</guid>
        <pubDate>Tue, 11 Mar 2008 13:24:25 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895782</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>реализация COM Aggregation</div></div><br>
А что, агрегация вне технологии не имеет смысл?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>правда для этого совсем не обязательно явно наследоваться от интерфейса</div></div><br>
Ну и в Delphi в общем-то не обязательно. Можешь для QueryInterface написать свою реализацию. Но в Borland на этот счет о нас уже позаботились. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:26:33+00:00">11.03.08, 13:26</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ibar должен выполняться для объекта TMy</div></div><br>
<br>
Все верно. Тут нужно либо самому вложить такое поведение в агрегат (не путаю термины?), либо унаследовать его от TAggregatedObject, где все это уже реализовано.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895776</guid>
        <pubDate>Tue, 11 Mar 2008 13:16:59 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895776</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895762'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T13:06:29+00:00">11.03.08, 13:06</time></span><div class='quote '>Прошу заметить, что все, что должно быть известно - это описание интерфейса с IID и способ, как его получить.</div></div><br>
Понятно. Еще один привет от технологии COM - а именно, реализация COM Aggregation. Знаем такое. :) В С++ такое тоже возможно, правда для этого совсем не обязательно явно наследоваться от интерфейса, реализуемого через агрегат. :) А сколько при этом остается за кадром - это мама дорогая... :) Куда уж тут zero-cost features... ;) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T13:19:45+00:00">11.03.08, 13:19</time></span></span><br>
Плюс, конечно, в том, что вам не приходится при этом заморачиваться со всякими inner- и outer-объектами, синхронизации контроля времени жизни (дело в том, что AddRef, выполняемый для полученного таким образом интерфейса Ibar должен выполняться для объекта TMy, Release, соответственно, также). Ну и т. д. Приколов тут очень много - мелкомягкие постарались. :)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895767</guid>
        <pubDate>Tue, 11 Mar 2008 13:08:35 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895767</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>В твоём же случае стандарта нет(чем вы нескромно гордитесь),</div></div><br>
<br>
И я думаю - это правильно. Так как если введение стандарта будет иметь смысл - уверен, это будет сделано. На данный момент в этом смысла мало, так как отрасль у нас молодая, бурноразвивающаяся. Если язык не будет успевать с ней в ногу - он устареет и умрет. Вводить стандарт - это тормоз в развитии языка. И делать это &quot;для галочки&quot; по меньшей мере глупо. Это все равно, что взять лопату и копать себе могилу.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895762</guid>
        <pubDate>Tue, 11 Mar 2008 13:06:29 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895762</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895696'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:22:23+00:00">11.03.08, 12:22</time></span><div class='quote '>Ничего не понял. Кто на ком стоял? На псевдокоде можешь показать - что именно ты сделал?</div></div><br>
ОК. Прмерно:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;IFoo = interface</div><div class="code_line">&nbsp;&nbsp;[&#39;{3DFE8A08-9485-4F64-A95C-90E9CF9BDE30}&#39;]</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedrue Proc1;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;IBar = interface</div><div class="code_line">&nbsp;&nbsp;[&#39;{A666283E-9303-4657-9B61-E6880F580796}&#39;]</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Proc2;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;TMy = class(..., IFoo, IBar)</div><div class="code_line">&nbsp;&nbsp; &nbsp;FBar: IBar;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Proc1; // явно реализуем IFoo</div><div class="code_line">&nbsp;&nbsp; &nbsp;property Bar: IBar read FBar implements IBar;</div><div class="code_line">&nbsp;&nbsp; &nbsp;constructor Create;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">...</div><div class="code_line">constructor TMy.Create;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;FBar := &#60;Чего-то&#62;;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
Где чего-то - это создание класса, или загрузка библиотеки c вызовом процедуры, которая вернет указатель на IBar, или, наконец, coCreateInstance. Области видимости я проигнорировал :)<br>
После этого последнего телодвижения у меня получился объект, реализующий IFoo и IBar, то есть, нет проблем:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Foo: IFoo;</div><div class="code_line">&nbsp;&nbsp;Bar: IBar;</div><div class="code_line">begin </div><div class="code_line">&nbsp;&nbsp;Foo := TMy.Create;</div><div class="code_line">&nbsp;&nbsp;Foo.Proc1;</div><div class="code_line">&nbsp;&nbsp;Bar := (Foo as IBar);</div><div class="code_line">&nbsp;&nbsp;Bar.Proc2;</div></ol></div></div></div></div><br>
Прошу заметить, что все, что должно быть известно - это описание интерфейса с IID и способ, как его получить.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895732</guid>
        <pubDate>Tue, 11 Mar 2008 12:54:09 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895732</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895720'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:46:50+00:00">11.03.08, 12:46</time></span><div class='quote '>Почему не применили имеющуюся реализацию?<br>
</div></div><br>
По нескольким причинам. <br>
1. Либо так исторически сложилось. <br>
2. Либо она могла не отвечать (по тем или иным причинам) требованиям задачи.<br>
3. Либо по велению своей левой пятки. :)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895725</guid>
        <pubDate>Tue, 11 Mar 2008 12:51:14 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895725</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Т.о. если я захочу написать альтернативный Delphi, то я буду руководствоваться именно этими словами</div></div><br>
<br>
Руководствоваться - будешь, но тебе никто не запретит в совем компиляторе идентифицировать интерфейсы неявно :) Собственно некоторые языковые различия есть и в Delphi for Win32 и в Delphi.NET. В частности - в Delphi для Win32 в class helper ты не можешь объявить виртуальный метод, а в .NET - можешь :) А в более ранних версиях Delphi - вообще нет понятия class helper. Говорят же тебе - язык развивающийся.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895720</guid>
        <pubDate>Tue, 11 Mar 2008 12:46:50 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895720</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895696'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:22:23+00:00">11.03.08, 12:22</time></span><div class='quote '>Потому что разработчики предпочли предоставить свой собственный интерфейс и реализацию строки, наиболее подходящую для решаемой задачи, а не использовать имеющуюся. При этом были предложены способы преобразования одних строк в другие. Чем плохо?</div></div><br>
Тем, что нестандартно и вынуждает программиста явно работать с данной реализацией. Почему не применили имеющуюся реализацию?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895716</guid>
        <pubDate>Tue, 11 Mar 2008 12:39:49 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895716</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:20:40+00:00">11.03.08, 12:20</time></span><div class='quote '>Никак. Потому что это - не скомпилируется ;)</div></div><br>
А как сделать, чтобы компилировалось? Т.е. взять PChar от произвольной строки? Ах, да, наверное написать PChar(s) :lol:.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:20:40+00:00">11.03.08, 12:20</time></span><div class='quote '>Думаю, что есть :) Но даже если нет - это не дает тебе право проводить между языком и компилятором знак равенства :) Это два совершенно разных понятия. Язык - некий абстрактный набор правил. Компилятор - конкретный инструмент, позволяющий создавать продукт с использованием языка.</div></div><br>
Это очень верное суждение, но... не в нашем случае :).<br>
На примере с С++: есть Стандарт(Его Величество), а есть куча разных компиляторов - т.н. conforming implementation. Но не все из них conforming - скажем, Borland C++ Builder 6 сильно далёк от стандарта(из-за своей древности). Т.о. если ты будешь критиковать конкретно BCB, то я скажу тебе выкинь BCB и обрати взор на Стандарт - там то-то и то-то можно делать так-то и так-то.<br>
В твоём же случае стандарта нет(чем вы нескромно гордитесь), но есть некотороая Language Specification(или Reference), котороая описывает все ньюансы языка. И там, со слов Ромкина, явно написано &quot;для увереной работы as необходимо снабжать интерфейсы IID&#39;ами&quot;. Т.о. если я захочу написать альтернативный Delphi, то я буду руководствоваться именно этими словами, и мой компилятор будет иметь все те же плохие черты, что и оригинал.<br>
И, если уж говорить о языке, то не кажется ли тебе, что все компиляторы для этого языка должны работать одинакого(по крайней мере в рамках спецификации), как это, например с С++?]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895715</guid>
        <pubDate>Tue, 11 Mar 2008 12:39:50 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895715</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>archimed7592, примерно так:</div></div><br>
<br>
Только знак присваивания у тебя фашистский стоит :)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895705</guid>
        <pubDate>Tue, 11 Mar 2008 12:26:48 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895705</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895688'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:20:13+00:00">11.03.08, 12:20</time></span><div class='quote '>Ты должен явно писать pCh := @s[1] (или @s[0], не помню, православная у них индексация строк или языческая).</div></div><br>
Вообще говоря, надо просто писать<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure foo(s: string);</div><div class="code_line">var pCh: PChar;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;pCh = PChar(s);</div><div class="code_line">&nbsp;&nbsp;Inc(pCh);</div><div class="code_line">end;</div></ol></div></div></div></div> и счетчик не шевельнется: программист явно преобразовал тип, таперича он отвечает за последствия. Впрочем, в данном отрезке ничего страшного и не произойдет. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T12:30:39+00:00">11.03.08, 12:30</time></span></span><br>
<strong class='tag-b'>archimed7592</strong>, примерно так:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var app, wb, ws:variant;</div><div class="code_line">begin</div><div class="code_line">app = CreateOLEObject(&#39;Application.Excel&#39;);</div><div class="code_line">wb = app.Workbooks.Add;</div><div class="code_line">ws = wb.Worksheets[1];</div><div class="code_line">ws.Cells[2,7].Value = 99;</div><div class="code_line">ws.Cells[1,3].Value = &#39;abc&#39;;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
И что дальше?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895704</guid>
        <pubDate>Tue, 11 Mar 2008 12:26:28 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895704</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Язык - некий абстрактный набор правил. Компилятор - конкретный инструмент, позволяющий создавать продукт с использованием языка.</div></div><br>
<br>
Кстати, если раньше Delphi - подразумевал IDE и компилятор, а язык назывался Object Pascal, то теперь Delphi - это еще и название языка. К компилятору у меня у самого есть масса претензий, однако к языку - значительно меньше :)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895699</guid>
        <pubDate>Tue, 11 Mar 2008 12:23:30 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895699</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895682'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:18:23+00:00">11.03.08, 12:18</time></span><div class='quote '>Корректно написанная програ займет гораздо больше, чем даже тебе кажется. В экселе еще и с интернационализацией форматов засада, что надо учесть. Но ты что, уже считаешь, что Delphi - это такая своеобразная замена VBA?<br>
</div></div><br>
Не надо мне особой корректности. Сойдёт что-то вроде<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var app, wb, ws:variant;</div><div class="code_line">begin</div><div class="code_line">app = CreateObject(&#39;Application.Excel&#39;);</div><div class="code_line">wb = app.Workbooks.Add;</div><div class="code_line">ws = wb.Worksheets[1];</div><div class="code_line">ws.Range(&#39;B7&#39;).Value = 99;</div><div class="code_line">ws.Range(&#39;A3&#39;).Value = &#39;abc&#39;;</div><div class="code_line">end.</div></ol></div></div></div></div>Подкорректируйте до работоспособности.<br>
Если форматная строка такая проблема, то можно ничего не форматировать.]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895696</guid>
        <pubDate>Tue, 11 Mar 2008 12:22:23 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895696</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895567'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:15:55+00:00">11.03.08, 11:15</time></span><div class='quote '>Не так давно стояла задача: есть библиотека с уже написанной реализацией интерфейса (например, IFoo), а тут потребовалось сделать коллекцию этих интерфейсов. Причем требовалось сделать именно враппер, расширить имеющийся интерфейс. Я просто сделал класс, реализующий интерфейс элемента коллекции плюс нужный интерфейс IFoo. И в качестве реализации IFoo взял имеющуюся.<br>
По правде сказать, там я создаю класс явно, но вполне могу получать интерфейс и из другой библиотеки, меняется одна строка создания имплементации. Думаю, я все-таки разделю библиотеки в будущем.<br>
</div></div><br>
Ничего не понял. Кто на ком стоял? На псевдокоде можешь показать - что именно ты сделал?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895567'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:15:55+00:00">11.03.08, 11:15</time></span><div class='quote '>А почему? Если basic_string - это базис, то почему не потомок?&#33;</div></div><br>
Потому что разработчики предпочли предоставить свой собственный интерфейс и реализацию строки, наиболее подходящую для решаемой задачи, а не использовать имеющуюся. При этом были предложены способы преобразования одних строк в другие. Чем плохо?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895689</guid>
        <pubDate>Tue, 11 Mar 2008 12:20:40 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895689</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А есть другие компиляторы?</div></div><br>
<br>
Думаю, что есть :) Но даже если нет - это не дает тебе право проводить между языком и компилятором знак равенства :) Это два совершенно разных понятия. Язык - некий абстрактный набор правил. Компилятор - конкретный инструмент, позволяющий создавать продукт с использованием языка.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>как здесь будет действовать ваш премудрый reference counter?</div></div><br>
<br>
Никак. Потому что это - не скомпилируется ;)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>К слову, в сообщении Delphi vs C++ (сообщение #1895294) я попросил дельфистов сваять коротенькую прогу.</div></div><br>
<br>
Скажем я - не сваяю, несколько не мой профиль. А сидеть специально для этого разбираться - тоже не буду ;)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895688</guid>
        <pubDate>Tue, 11 Mar 2008 12:20:13 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895688</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895664'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:12:55+00:00">11.03.08, 12:12</time></span><div class='quote '>как здесь будет действовать ваш премудрый reference counter? :)</div></div><br>
Пошлет в пешее эротическое на этапе компиляции. Ты должен явно писать pCh := @s[1] (или @s[0], не помню, православная у них индексация строк или языческая).]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895685</guid>
        <pubDate>Tue, 11 Mar 2008 12:19:46 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895685</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895668'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:14:22+00:00">11.03.08, 12:14</time></span><div class='quote '>Такая запись синтаксически неверна в C++.</div></div><br>
Да что ты говоришь :).<br>
А как насчёт void foo(char *, int, char, double ***); ?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895668'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:14:22+00:00">11.03.08, 12:14</time></span><div class='quote '>Так что же все-таки у вас PChar ?</div></div><br>
Тебе ж сказали, указатель на Char.]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895682</guid>
        <pubDate>Tue, 11 Mar 2008 12:18:23 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895682</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895664'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>archimed7592 &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:12:55+00:00">11.03.08, 12:12</time></span><div class='quote '>К слову, в сообщении Delphi vs C++ (сообщение #1895294) я попросил дельфистов сваять коротенькую прогу. Мне казалось, что в Дельфи для этого понадобится строк на 5-7 больше, чем в VBA... </div></div><br>
Корректно написанная програ займет гораздо больше, чем даже тебе кажется. В экселе еще и с интернационализацией форматов засада, что надо учесть. Но ты что, уже считаешь, что Delphi - это такая своеобразная замена VBA?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895668</guid>
        <pubDate>Tue, 11 Mar 2008 12:14:22 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895668</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895652'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T12:04:13+00:00">11.03.08, 12:04</time></span><div class='quote '>Примерно то же самое, что и char*</div></div><br>
Такая запись синтаксически неверна в C++. Есть просто char, то есть, символьный тип переменной.<br>
И есть <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">char *pCh;</div></ol></div></div></div></div> это обьявление указателя на переменную символьного типа.<br>
Так что же все-таки у вас PChar ?]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895664</guid>
        <pubDate>Tue, 11 Mar 2008 12:12:55 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895664</link>
        <description><![CDATA[archimed7592: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895389'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T09:36:06+00:00">11.03.08, 09:36</time></span><div class='quote '>Ты же знаешь Qt. И, подозреваю, гораздо лучше, чем я :)<br>
И ты у меня это спрашиваешь? :blink: </div></div><br>
Потому и спрашиваю, что знаю, что там никаких проблем с потоками нет. Точнее говоря, QString не является thread-safe, но CoW там реализован потоко-безопасно.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T10:28:35+00:00">11.03.08, 10:28</time></span><div class='quote '>Но это уже проблема конкретного компилятора, а не языка.</div></div><br>
А есть другие компиляторы? :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895411'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T09:44:26+00:00">11.03.08, 09:44</time></span><div class='quote '>Прочти выше, не хочу повторяться. ;)</div></div><br>
Конкретно с тем что хранить длину строки в качестве первого(-ых) символа(-ов) пришло из паскаля или нет я не спорил. Я вообще говоря никаких утверждений относительно этого не делал. Так что лучше разберись с чем споришь ты :-P.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895567'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:15:55+00:00">11.03.08, 11:15</time></span><div class='quote '>Просто указатель-то сместился. Как опознается, сколько надо освободить?</div></div><br>
А ты где там освобождение увидел? ;)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895567'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:15:55+00:00">11.03.08, 11:15</time></span><div class='quote '>А почему? Если basic_string - это базис, то почему не потомок?&#33;</div></div><br>
Если бы ты знал что представляет из себя basic_string, то понимал бы, что он не предназначен для наследования от него(да, да, такие классы в С++ бывают и их не мало). Другими словами наследование от этого класса ни к чему хорошему не приведёт.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895573'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:20:44+00:00">11.03.08, 11:20</time></span><div class='quote '>var<br>
  pCh: PChar;<br>
begin<br>
  pCh := &#39;test&#39;;<br>
  Inc(pCh);</div></div><br>
Кстати, вот такой код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure foo(s: string);</div><div class="code_line">var pCh: PChar;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;pCh = s;</div><div class="code_line">&nbsp;&nbsp;Inc(pCh);</div><div class="code_line">end;</div></ol></div></div></div></div><br>
как здесь будет действовать ваш премудрый reference counter? :)<br>
<br>
<br>
<br>
К слову, в сообщении <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895294' target='_blank'>Delphi vs C++ (сообщение #1895294)</a> я попросил дельфистов сваять коротенькую прогу. Мне казалось, что в Дельфи для этого понадобится строк на 5-7 больше, чем в VBA... :)]]></description>
        <author>archimed7592</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895652</guid>
        <pubDate>Tue, 11 Mar 2008 12:04:13 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895652</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А что такое PChar ?</div></div><br>
<br>
Примерно то же самое, что и char* <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T12:12:27+00:00">11.03.08, 12:12</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вообще говоря, да, так наверно могли бы. Почему не сделано - сказать не могу.</div></div><br>
<br>
Да, но мы с тобой так просто не сдаемся, так как это проблема конкретного компилятора, а не языка ;) Язык допускает интерфейсы без IID-ов.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895644</guid>
        <pubDate>Tue, 11 Mar 2008 11:58:11 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895644</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895624'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:49:24+00:00">11.03.08, 11:49</time></span><div class='quote '>А что такое PChar ?<br>
pCh - это как понял, по вашему переменная указатель на ...</div></div><br>
Это &quot;указатель на первый символ строки, заканчивающейся нулевым символом&quot; :)]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895631</guid>
        <pubDate>Tue, 11 Mar 2008 11:53:55 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895631</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895533'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:00:46+00:00">11.03.08, 11:00</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1514024'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Taz &#064; <time class="tag-quote__quoted-time" datetime="2007-04-06T16:36:17+00:00">06.04.07, 16:36</time></span><div class='quote '>Что можно сделать на С++, того что нельзя сделать на Delphi?</div></div><br>
Ответ новичка не знающего Делфи:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">char* pCh = &quot;test&quot;;</div><div class="code_line">pCh++;</div></ol></div></div></div></div></div></div><br>
Мейби я ошибаюсь, но вроде как-то вот так вот можно:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;ptr: ^Char;</div><div class="code_line">&nbsp;&nbsp;aWord: string;</div><div class="code_line">.....</div><div class="code_line">aWord := &quot;test&quot;;</div><div class="code_line">ptr = @aWord[1];</div><div class="code_line">Inc(ptr,1);</div></ol></div></div></div></div>]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895624</guid>
        <pubDate>Tue, 11 Mar 2008 11:49:24 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895624</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895618'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:46:16+00:00">11.03.08, 11:46</time></span><div class='quote '>Но если она тебя не устравает, то:</div></div><br>
Ну ладно. Ладно...<br>
А что такое PChar ?<br>
pCh - это как понял, по вашему переменная указатель на ...]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895618</guid>
        <pubDate>Tue, 11 Mar 2008 11:46:16 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895618</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Не только синтаксис языка?</div></div><br>
<br>
Это не функция, а встроенная в язык конструкция. Так как эта &quot;функция&quot; работает с compile-time информацией, а именно - с типом типизированного указателя. Но если она тебя не устравает, то:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;pCh: PChar;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;pCh := &#39;test&#39;;</div><div class="code_line">&nbsp;&nbsp;pCh := pCh + 1;</div></ol></div></div></div></div><br>
 :tong:]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895616</guid>
        <pubDate>Tue, 11 Mar 2008 11:45:52 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895616</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895604'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:38:27+00:00">11.03.08, 11:38</time></span><div class='quote '>Ну не мои это заботы, честное слово  Пусть хоть в опциях текущего проекта, который использует юниты с интерфейсами. Все равно, не объявляя глобальный идентификатор вручную, я подписываюсь под тем, что за границы моего проекта интерфейсы не выйдут.</div></div><br>
Вообще говоря, да, так наверно могли бы. Почему не сделано - сказать не могу.]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895608</guid>
        <pubDate>Tue, 11 Mar 2008 11:42:26 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895608</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895604'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:38:27+00:00">11.03.08, 11:38</time></span><div class='quote '>ISC, мой вариант подойдет?</div></div><br>
Там какая-то функция используется для инкримента? Не только синтаксис языка?]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895604</guid>
        <pubDate>Tue, 11 Mar 2008 11:38:27 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895604</link>
        <description><![CDATA[--Ins--: <strong class='tag-b'>ISC</strong>, мой вариант подойдет? :)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А если при первом билде - то где хранить?</div></div><br>
<br>
Ну не мои это заботы, честное слово :) Пусть хоть в опциях текущего проекта, который использует юниты с интерфейсами. Все равно, не объявляя глобальный идентификатор вручную, я подписываюсь под тем, что за границы моего проекта интерфейсы не выйдут.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895586</guid>
        <pubDate>Tue, 11 Mar 2008 11:28:05 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895586</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895567'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:15:55+00:00">11.03.08, 11:15</time></span><div class='quote '>Просто указатель-то сместился. Как опознается, сколько надо освободить? </div></div><br>
Ну в том случае память выделяется возможностями компилятора, он и будет заботится о правильном её освобождении. А если выделять память самостоятельно, то нужно и позаботиться о правильном её освобождении]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895580</guid>
        <pubDate>Tue, 11 Mar 2008 11:24:28 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895580</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895573'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:20:44+00:00">11.03.08, 11:20</time></span><div class='quote '>Честное слово, мне - по барабану. Это не мои заботы, а разработчиков компилятора. Пусть хотя бы при первом билде и далее существовал всегда. Меня бы даже устроило, если бы интерфейсы без IID-ов различались по именам</div></div><br>
А если при первом билде - то где хранить? В отдельном файлике? А удобнее ли это, чем в тексте программы?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895573</guid>
        <pubDate>Tue, 11 Mar 2008 11:20:44 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895573</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Когда присваивался?</div></div><br>
<br>
Честное слово, мне - по барабану. Это не мои заботы, а разработчиков компилятора. Пусть хотя бы при первом билде и далее существовал всегда. Меня бы даже устроило, если бы интерфейсы без IID-ов различались по именам ;) Или еще как-нибудь... <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T11:23:13+00:00">11.03.08, 11:23</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>char* pCh = &quot;test&quot;;<br>
pCh++;</div></div><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;pCh: PChar;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;pCh := &#39;test&#39;;</div><div class="code_line">&nbsp;&nbsp;Inc(pCh);</div></ol></div></div></div></div>]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895567</guid>
        <pubDate>Tue, 11 Mar 2008 11:15:55 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895567</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895549'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:06:01+00:00">11.03.08, 11:06</time></span><div class='quote '>Что есть &quot;готовая двоичная реализация интерфейса&quot;?</div></div><br>
Композиция готового двоичного кода.<br>
Не так давно стояла задача: есть библиотека с уже написанной реализацией интерфейса (например, IFoo), а тут потребовалось сделать коллекцию этих интерфейсов. Причем требовалось сделать именно враппер, расширить имеющийся интерфейс. Я просто сделал класс, реализующий интерфейс элемента коллекции плюс нужный интерфейс IFoo. И в качестве реализации IFoo взял имеющуюся.<br>
По правде сказать, там я создаю класс явно, но вполне могу получать интерфейс и из другой библиотеки, меняется одна строка создания имплементации. Думаю, я все-таки разделю библиотеки в будущем. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T11:17:42+00:00">11.03.08, 11:17</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895558'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:08:15+00:00">11.03.08, 11:08</time></span><div class='quote '>Когда выделенная память станет не нужна? Если память освободить, утечки не будет</div></div><br>
Просто указатель-то сместился. Как опознается, сколько надо освободить? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T11:19:12+00:00">11.03.08, 11:19</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895549'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:06:01+00:00">11.03.08, 11:06</time></span><div class='quote '>Один вопрос: QString - потомок std::basic_string?<br>
<br>
Нет. Но может быть легко преобразован в него и обратно.</div></div><br>
А почему? Если basic_string - это базис, то почему не потомок?&#33;]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895564</guid>
        <pubDate>Tue, 11 Mar 2008 11:13:32 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895564</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>в которой описываются основные проблемные места, и методики их обхода</div></div><br>
А зачем делать в языке фичи, использование которых приведет в конечном итоге только к проблемам? Какой в этом смысл? Чтобы потом читать про то, что их не нужно использовать и в конечном итоге - не использовать?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>только языки и среды, которые бьют по рукам в любом подходящем для этого месте.</div></div><br>
Не мне вам объяснять, что контроль ошибок в compile-time (в т.ч. логических) - всегда благо, по сравнению с отсутствием контроля или контролем в run-time :) Вы ошибку можете допустить не из-за того, что ветер в голове от рождения, а из-за того, что сегодня вы не позавтракали, сын в школе получил двойку, а в магазине вам нахамили ;)]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895558</guid>
        <pubDate>Tue, 11 Mar 2008 11:08:15 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895558</link>
        <description><![CDATA[ISC: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895548'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:05:39+00:00">11.03.08, 11:05</time></span><div class='quote '>Кстати, что означает эта конструкция в С++? Меня всегда интересовало, утечки памяти не будет?</div></div><br>
Инкримент указателя на ячейку памяти.<br>
В смысле утечки? Когда выделенная память станет не нужна? Если память освободить, утечки не будет]]></description>
        <author>ISC</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895556</guid>
        <pubDate>Tue, 11 Mar 2008 11:07:49 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895556</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895548'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:05:39+00:00">11.03.08, 11:05</time></span><div class='quote '>Кстати, что означает эта конструкция в С++? Меня всегда интересовало, утечки памяти не будет?<br>
</div></div><br>
Нет. Ты присваиваешь указателю на char адрес, по которому расположен строковый литерал.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895552</guid>
        <pubDate>Tue, 11 Mar 2008 11:07:18 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895552</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895538'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:03:41+00:00">11.03.08, 11:03</time></span><div class='quote '>А если бы он присваивался автоматом только в том случае, если я его не назначил сам?</div></div><br>
А вот это вопрос на засыпку :) <strong class='tag-b'>Когда</strong> присваивался?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895549</guid>
        <pubDate>Tue, 11 Mar 2008 11:06:01 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895549</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895530'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:00:04+00:00">11.03.08, 11:00</time></span><div class='quote '>Можно в С++ взять готовую двоичную реализацию интерфейса и использовать в своем классе? Delphi - может.</div></div><br>
Что есть &quot;готовая двоичная реализация интерфейса&quot;? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2008-03-11T11:07:16+00:00">11.03.08, 11:07</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895534'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:01:30+00:00">11.03.08, 11:01</time></span><div class='quote '><br>
Один вопрос: QString - потомок std::basic_string?<br>
</div></div><br>
Нет. Но может быть легко преобразован в него и обратно.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895548</guid>
        <pubDate>Tue, 11 Mar 2008 11:05:39 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895548</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895533'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ISC &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T11:00:46+00:00">11.03.08, 11:00</time></span><div class='quote '>Ответ новичка не знающего Делфи:<br>
char* pCh = &quot;test&quot;;<br>
pCh++;</div></div><br>
Кстати, что означает эта конструкция в С++? Меня всегда интересовало, утечки памяти не будет?]]></description>
        <author>Romkin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895544</guid>
        <pubDate>Tue, 11 Mar 2008 11:04:42 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895544</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895521'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T10:55:14+00:00">11.03.08, 10:55</time></span><div class='quote '>Нет. Просто интерфейсы изначально предельно оторваны от реализации. И Delphi не важно, как и когда был написан программный модуль, из которого взят интерфейс. То есть, допустим, у меня есть dll, из которой я получаю ссылку интерфейс (неважно, каким способом). Мне совершенно не интересно, на какой версии компилятора Delphi написана эта библиотека, да и на Delphi ли. Компилятор будет, опираясь на имеющееся описание интерфейса в моем модуле, работать с полученной ссылкой. А какое описание брать - он поймет по IID. А если бы он присваивался автоматом - я бы так сделать не смог, пришлось бы брать из этой библиотеки еще и RTTI, и заботиться о том, какой она версии и так далее.</div></div><br>
Ты до сих пор не понимаешь, о чем идет речь. Если я не меняю платформы и языка разработки, то обо всех этих тонкостях я <em class='tag-i'>не должен</em> заботиться. Это <em class='tag-i'>не моя</em> головная боль. Все это - головная боль языка и библиотеки его поддержки. Все остальное - от лукавого. Вот если мне надо будет экспортировать интерфейсы за пределы языковой платформы - только в этом случае я должен буду об этом позаботиться. В рамках выбранной технологии экспорта. А сейчас все выглядит так, что сначала по-быстрому прикрутили фенечку (с интерфейсами и поддержкой COM), а потом позно было что-то менять. :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=179471&view=findpost&p=1895513'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;&#045;Ins&#045;&#045; &#064; <time class="tag-quote__quoted-time" datetime="2008-03-11T10:43:25+00:00">11.03.08, 10:43</time></span><div class='quote '>Я критикую C++ лишь за то, что основной принцип этого языка - вседозволенность, которая на мой взгляд не нужна ВЫСОКОУРОВНЕВОМУ ЯП, тем более - объектному. И как следствие - отсутствие всякой логики, наличие неоднозначностей и противоречий. На мой взгляд - это один из худших языков, реализующий концепцию императивного программирования. Причина этому возможно субъективна. Паскалевское воспитание, которое приучает к дисциплине в программировании.</div></div><br>
Вседозволенности в С++ не больше, чем в Delphi. На самом деле, для того, чтобы начать грамотно программировать на С++ достаточно прочитать две книжки: букварь, описывающий основные возможности языка, и книгу Дж. Элджера &quot;Язык С++&quot;, в которой описываются основные проблемные места, и методики их обхода, о которых должен помнить разработчик. <em class='tag-i'>Все&#33;</em> :) Ну а если &quot;разработчик&quot; принципиально не хочет ничего читать - то, тут да. Тут ему ничего не поможет, только языки и среды, которые бьют по рукам в любом подходящем для этого месте.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895538</guid>
        <pubDate>Tue, 11 Mar 2008 11:03:41 +0000</pubDate>
        <title>Delphi vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=179471&amp;view=findpost&amp;p=1895538</link>
        <description><![CDATA[--Ins--: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А если бы он присваивался автоматом - я бы так сделать не смог</div></div><br>
<br>
А если бы он присваивался автоматом только в том случае, если я его не назначил сам? Ведь <strong class='tag-b'>Flex Ferrum</strong> прав в том смысле, что в своих проектах от COM я далек. Но IID интерфейсам назначаю, лишь потому, что знаю, что без них нет возможности идентифицировать интерфейс НИКАК. Я не смогу полноценно использовать оператор <strong class='tag-b'>as</strong>, так как компилятор для таких интерфейсов не создает никаких уникальных идентификаторов в IntfTable, и TObject.GetInterface не знает, что ему в этом RTTI искать  :( <br>
Это действительно недочет компилятора, так как меня, как разработчика, в случае когда я не собираюсь использовать чужие интерфейсы, не должно волновать, как Delphi их идентифицирует.]]></description>
        <author>--Ins--</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	