<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Безопасно ли так переопределять указатели?</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9241.html</link>
    <description>Есть какой-то буфер buf, и есть указать на данные внутри этого буфера *ptr. Есть функция foo (в примере ниже), которая ищет определённые данные в нашем буфере, начиная с указателя *ptr. Указатель на найденные данные помещается в указатель **trg. Я сильно упростил функцию foo и не передаю длину буфера, считаем что за границы нашего буфера мы гарантированно не выходим. Вопрос в том, что будет, если в качестве аргументов для этой функции я передам один и тот же указатель, как показано в примере ниже. Данный пример компилится и работает, но могут ли возникнуть проблемы при какой-нибудь хитрой оптимизации кода? Безопасно ли переопределять указатель внутри функции таким образом, как показано в примере?&lt;br&gt;&lt;br&gt;unsigned char buf&#091;4&#093;=&#123;1,2,3,4&#125;;&lt;br&gt;&lt;br&gt;void foo(unsigned char *ptr, unsigned char **trg)&lt;br&gt;&#123;&lt;br&gt;    *trg = &amp;ptr&#091;2&#093;;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;int main ()&lt;br&gt;&#123;&lt;br&gt;    unsigned char *ptr;&lt;br&gt;&lt;br&gt;    ptr = buf;&lt;br&gt;    foo(ptr, &amp;ptr);&lt;br&gt;&lt;br&gt;    return 0;&lt;br&gt;&#125;&lt;br&gt;</description>

<item>
    <title>Безопасно ли так переопределять указатели? (CR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9241.html#3</link>
    <pubDate>Wed, 21 Sep 2011 19:07:23 GMT</pubDate>
    <description>Ок, спасибо.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Безопасно ли так переопределять указатели? (JohnProfic)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9241.html#2</link>
    <pubDate>Tue, 20 Sep 2011 08:06:00 GMT</pubDate>
    <description>Параметры функции всегда вычисляются до её вызова. Что происходит с ними внутри этой функции дело десятое. В данном случае нет ничего страшного :). А уж если компилятор напортачит, то это будет его, требующая исправления, ошибка.&lt;br&gt;</description>
</item>

<item>
    <title>Безопасно ли так переопределять указатели? (Razzeeyy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9241.html#1</link>
    <pubDate>Mon, 19 Sep 2011 21:00:58 GMT</pubDate>
    <description>с виду нет ничего плохого, просто исходный указатель затрет новыми данными&lt;br&gt;главное &quot;логически&quot; не ошибится при этой самой перезаписи указателя, а то выйдет что будут утеряны/неправильно обработаны данные.&lt;br&gt;даже скомпилил, запустил, только для наглядности заменил &#123;1,2,3,4&#125; на &quot;123&quot;&lt;br&gt;cout&amp;lt;&amp;lt;ptr; выдал 3, что и следовало ожидать.&lt;br&gt;</description>
</item>

</channel>
</rss>
