<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: ссылки в с++</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html</link>
    <description>У Страуструпа в его книге &quot;язык программирования с++&quot; есть такие слова (в главе о функциях):&lt;br&gt;Разрешение преобразования для аргумента (функции) типа const T&amp; обеспечивает гарантию того, что аргументу будет присвоен тот же набор значений, что и аргументу типа T.&lt;br&gt;Так что -  тип &quot;ссылка на постоянный объект&quot; законно может быть приведена к типу &quot;ссылка на объект&quot;?&lt;br&gt;</description>

<item>
    <title>ссылки в с++ (const86)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#7</link>
    <pubDate>Fri, 19 Dec 2008 07:56:33 GMT</pubDate>
    <description>&amp;gt;дык вот почему здесь double можно преобразовывать в const float&amp; , когда double во float&amp; нельзя? Почему нельзя - я понял. Но почему по той же причине не запрещено преобразование дабла в ссылку на постоянный флоат? &lt;br&gt;&lt;br&gt;Первое нельзя, потому что у нас есть double и мы хотим передать в функцию ссылку на него как ссылку на float. Функция по этой ссылке что-нибудь запишет и что мы получим?&lt;br&gt;А во втором случае ссылка константная, поэтому функция туда ничего писать не будет. Мы можем создать временный float, присвоить ему значение нашего double и передать в функцию ссылку на float.&lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (rasmon)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#6</link>
    <pubDate>Tue, 16 Dec 2008 15:54:30 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;можно ли изменять временный объект? :) &lt;br&gt;&lt;br&gt;можно ответить &quot;да&quot;, а можно и &quot;нет&quot;. &lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (vic)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#5</link>
    <pubDate>Tue, 16 Dec 2008 15:23:54 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;float qrt(const float&amp;); &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;void g(double d)&#123; &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;qrt(d); //а так можно - почему? &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;причина в преобразовании типов :) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;дык вот почему здесь double можно преобразовывать в const float&amp; , когда &lt;br&gt;&amp;gt;double во float&amp; &lt;br&gt;&amp;gt; нельзя? Почему нельзя - я понял. Но почему по той же &lt;br&gt;&amp;gt;причине не запрещено преобразование дабла в ссылку на постоянный флоат? &lt;br&gt;&lt;br&gt;можно ли изменять временный объект? :)&lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (rasmon)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#4</link>
    <pubDate>Tue, 16 Dec 2008 13:53:24 GMT</pubDate>
    <description>&amp;gt;&amp;gt;void update(float&amp; i); &lt;br&gt;&amp;gt;&amp;gt;void g(double d)&#123; &lt;br&gt;&amp;gt;&amp;gt;update(d); //ошибка. И только потому, что это не то что хотел программист.&lt;br&gt;&amp;gt;&amp;gt;но: &lt;br&gt;&amp;gt;&amp;gt;float qrt(const float&amp;); &lt;br&gt;&amp;gt;&amp;gt;void g(double d)&#123; &lt;br&gt;&amp;gt;&amp;gt;qrt(d); //а так можно - почему? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;причина в преобразовании типов :) &lt;br&gt;&lt;br&gt;дык вот почему здесь double можно преобразовывать в const float&amp; , когда double во float&amp;&lt;br&gt; нельзя? Почему нельзя - я понял. Но почему по той же причине не запрещено преобразование дабла в ссылку на постоянный флоат?&lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (vic)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#3</link>
    <pubDate>Tue, 16 Dec 2008 13:44:12 GMT</pubDate>
    <description>&amp;gt;void update(float&amp; i); &lt;br&gt;&amp;gt;void g(double d)&#123; &lt;br&gt;&amp;gt;update(d); //ошибка. И только потому, что это не то что хотел программист.&lt;br&gt;&amp;gt;но: &lt;br&gt;&amp;gt;float qrt(const float&amp;); &lt;br&gt;&amp;gt;void g(double d)&#123; &lt;br&gt;&amp;gt;qrt(d); //а так можно - почему? &lt;br&gt;&lt;br&gt;причина в преобразовании типов :)&lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (rasmon)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#2</link>
    <pubDate>Tue, 16 Dec 2008 13:37:57 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Так что -  тип &quot;ссылка на постоянный объект&quot; законно может быть приведена к типу &quot;ссылка на объект&quot;? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Цитата довольно заковыристая... На самом деле, при вызове функции const T&amp; и &lt;br&gt;&amp;gt;T автоматически приводятся друг к другу. &lt;br&gt;&lt;br&gt;Cогласен - заковыристая. И у Струструпа таких мест много. И хотя в некоторых местах можно разобраться по прилагаемым примерам, то тут непонятно. Это находится в главе &quot;функции&quot;, часть &quot;передача аргументов&quot;:&lt;br&gt;&lt;br&gt;void update(float&amp; i);&lt;br&gt;void g(double d)&#123;&lt;br&gt;update(d); //ошибка. И только потому, что это не то что хотел программист. Самим языком //это как бы не запрещено,&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;но:&lt;br&gt;float qrt(const float&amp;);&lt;br&gt;void g(double d)&#123;&lt;br&gt;qrt(d); //а так можно - почему?&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;И там  же находится вышеприведенная цитата.&lt;br&gt;</description>
</item>

<item>
    <title>ссылки в с++ (const)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7771.html#1</link>
    <pubDate>Sat, 13 Dec 2008 20:34:42 GMT</pubDate>
    <description>&amp;gt;Так что -  тип &quot;ссылка на постоянный объект&quot; законно может быть приведена к типу &quot;ссылка на объект&quot;? &lt;br&gt;&lt;br&gt;Цитата довольно заковыристая... На самом деле, при вызове функции const T&amp; и T автоматически приводятся друг к другу. Про T&amp; ничего не было сказано.&lt;br&gt;Например:&lt;br&gt;&lt;br&gt;void f(const int &amp;x) &#123; g(x); &#125;&lt;br&gt;void g(int y) &#123; f(y); &#125;&lt;br&gt;int main() &#123; g(42); &#125;&lt;br&gt;</description>
</item>

</channel>
</rss>
