<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Форум 'C/C++' на RSDN.RU</title>
    <link>http://www.rsdn.ru/Forum/cpp/</link>
    <description>Программирование на C++. No VCL, no MFC, pure C++ only.</description>
    <category>cpp</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN.ru, 2001-2007</copyright>
    <webMaster>webmaster@rsdn.ru</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://www.rsdn.ru/rsdn.gif</url>
      <title>RSDN.RU</title>
      <link>http://www.rsdn.ru</link>
    </image>
    <lastBuildDate>Mon, 20 May 2013 07:00:04 GMT</lastBuildDate>
    <ttl>5</ttl>
	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rsdn/cpp" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rsdn/cpp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>for_each и bind</title>
		<link>http://www.rsdn.ru/Forum/cpp/5173522.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5173522</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5173522</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5173522</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5173522</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5173522</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Как вызвать ф-цю func(T, просто число константа) для всех элементов vector&amp;lt;T&amp;gt;&lt;br /&gt;
Чувствую что bind надо, а как не пойму.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Mon, 20 May 2013 03:57:34 GMT</pubDate>
		
			<author>Kubyshev Andrey &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Вопрос про шаблонный код</title>
		<link>http://www.rsdn.ru/Forum/cpp/5173205.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5173205</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5173205</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5173205</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5173205</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5173205</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Всем привет!&lt;br /&gt;
Вот &lt;a href="http://stackoverflow.com/questions/7313243/c-template-errors" class="m" target="_blank"&gt;здесь&lt;/a&gt; есть код, который взят из какого-то документа стандарта.&lt;br /&gt;
В XCode этот код действительно не компилится ни одним из двух компиляторов. Но в VS 2008/2010 вполне себе компилится, и даже на высшем уровне предупреждений ничего не выдается.&lt;br /&gt;
&lt;br /&gt;
В связи с этим вопросы:&lt;br /&gt;
&lt;br /&gt;
1. Правильно ли я понимаю, что стандарт этот для C++/CLI?&lt;br /&gt;
2. Должен ли все-таки этот код компилироваться по стандарту C++11?&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Sun, 19 May 2013 14:35:30 GMT</pubDate>
		
			<author>sun2013 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>[ANN] CCore-1.04 is released</title>
		<link>http://www.rsdn.ru/Forum/cpp/5172475.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5172475</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5172475</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5172475</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5172475</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5172475</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;a href="https://github.com/SergeyStrukov/CCore/tags" class="m" target="_blank"&gt;Код&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/SergeyStrukov/CCore/wiki/Release-1.04" class="m" target="_blank"&gt;Изменения&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Sat, 18 May 2013 10:00:17 GMT</pubDate>
		
			<author>Шахтер &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>адрес this и предки</title>
		<link>http://www.rsdn.ru/Forum/cpp/5171887.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5171887</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5171887</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5171887</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5171887</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5171887</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;приветствую!&lt;br /&gt;
&lt;br /&gt;
есть следующая иерархия классов:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;#define&lt;/span&gt; PRINT_THIS() fprintf(stdout, &lt;span class='str'&gt;"this=%08p\n"&lt;/span&gt;, &lt;span class='kw'&gt;this&lt;/span&gt;);

&lt;span class='kw'&gt;struct&lt;/span&gt; A { A() {PRINT_THIS} };
&lt;span class='kw'&gt;template&lt;/span&gt;&amp;lt;...&amp;gt;
&lt;span class='kw'&gt;struct&lt;/span&gt; B { B() {PRINT_THIS} };
&lt;span class='kw'&gt;struct&lt;/span&gt; C: A, B&amp;lt;...&amp;gt; { C() {PRINT_THIS} };&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
вопрос в том, почему для &lt;b&gt;A&lt;/b&gt; и &lt;b&gt;C&lt;/b&gt; адреса this одинаковы, а для &lt;b&gt;B&lt;/b&gt; &amp;mdash; нет?&lt;br /&gt;
&lt;br /&gt;
благодарен.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Fri, 17 May 2013 12:56:24 GMT</pubDate>
		
			<author>niXman &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>10</slash:comments>
		
	</item>

	<item>
		<title>Компилятор gcc. Сохранение порядка функций</title>
		<link>http://www.rsdn.ru/Forum/cpp/5171424.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5171424</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5171424</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5171424</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5171424</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5171424</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Привет всем!&lt;br /&gt;
&lt;br /&gt;
Мне нужна такая вещь, есть модуль в котором много функций. После компиляции компилятор gcc их располагает не в том же порядке как в исходнике, а мне нужно сохранить именно тот же порядок. Или мне нужно как-то определить начало и окончание этих функций, чтобы потом все эти откомпилированные функции одним махом перенести в другое адресное пространство. Но поскольку  компилятор после компиляции их располагает в непонятном порядке, я не могу правильно определить где 1-я функция и где последняя.&lt;br /&gt;
Например, в отдельном файле располагаются такие функции:&lt;br /&gt;
&lt;br /&gt;
void Begin()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Func1()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void End()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
мне нужно скопировать все что находится между адресами Begin и End:&lt;br /&gt;
&lt;br /&gt;
memcpy( NewAddress, Begin, End &amp;mdash; Begin );&lt;br /&gt;
&lt;br /&gt;
Но, после компиляции в exe они располагаются не в том же порядке, а где-то так:&lt;br /&gt;
&lt;br /&gt;
void Func1()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Begin()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void End()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
в результате не все что нужно копируется.&lt;br /&gt;
Какими опциями заставить gcc сохранить порядок функций? Или как можно по другому скопировать нужный мне блок? Все функции находятся в отдельном файле.&lt;br /&gt;
&lt;br /&gt;
П.С. Я конечно могу методом тыка определить какая функция стала первая, а какая последней, но после изменений порядок может измениться и тогда все нужно начинать сначала.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Fri, 17 May 2013 07:50:47 GMT</pubDate>
		
			<author>Airog &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>9</slash:comments>
		
	</item>

	<item>
		<title>[C++11] std::hash + pair / tuple</title>
		<link>http://www.rsdn.ru/Forum/cpp/5171053.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5171053</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5171053</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5171053</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5171053</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5171053</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Кто знает причину по которой нет специализации std::hash для std::pair и std::tuple ?&lt;br /&gt;
Почему нужно сначала получить &lt;s&gt;по мозгам&lt;/s&gt; супер ошибку от компилятора: error C2440: 'type cast' : cannot convert from '...' to 'size_t'.&lt;br /&gt;
&lt;br /&gt;
А потом найти ,  что оказывается нужно это писать еще самому.&lt;br /&gt;
Проще уже тогда свой класс написать &lt;img border='0' width='37' height='15' src='http://www.rsdn.ru/Forum/images/xz.gif' /&gt;&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Thu, 16 May 2013 19:44:42 GMT</pubDate>
		
			<author>_NN_ &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>vs2010 и std::bind</title>
		<link>http://www.rsdn.ru/Forum/cpp/5169740.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5169740</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5169740</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5169740</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5169740</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5169740</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Привет.&lt;br /&gt;
&lt;br /&gt;
Почему такой код:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
std::vector&amp;lt;int&amp;gt; vctCollected;
std::vector&amp;lt;int&amp;gt; results;
results.push_back(1);
results.push_back(2);
results.push_back(3);
std::for_each(results.begin(), results.end(), std::bind(&amp;amp;std::vector&amp;lt;int&amp;gt;::push_back, &amp;amp;vctCollected, std::placeholders::_1));&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
выдает в 2010 студии ошибки типа:&lt;br /&gt;
&lt;br /&gt;
console.cpp(17): error C2780: 'std::tr1::_Bind&amp;lt;_Ret,_Ret,std::tr1::_Bind0&amp;lt;std::tr1::_Callable_obj&amp;lt;_Fty&amp;gt;&amp;gt;&amp;gt; std::tr1::bind(_Fty)' : expects 1 arguments &amp;mdash; 3 provided&lt;br /&gt;
        microsoft visual studio 10.0\vc\include\xxbind1(323) : see declaration of 'std::tr1::bind'&lt;br /&gt;
&lt;br /&gt;
Спасибо.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Wed, 15 May 2013 15:29:40 GMT</pubDate>
		
			<author>Losar &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>получить адрес ссылки без ассемблера</title>
		<link>http://www.rsdn.ru/Forum/cpp/5168871.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5168871</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5168871</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5168871</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5168871</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5168871</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Всем привет&lt;br /&gt;
&lt;br /&gt;
есть глобальная ссылка&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
int&amp;amp;

int main()
{
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
и есть макрос который будет использоваться в выражениях внутри функций...&lt;br /&gt;
вот в этом макросе нужно определить адрес глобальной ссылки переданной в макрос как параметр...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
я вставил в макрос лямбду а в ней с помощью инлайн асма брал адрес ссылки...&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
([]()-&amp;gt;intptr_t
{
        intptr_t a;
            
        __asm
        {
            lea eax, x // х параметр макроса
            mov a, eax
        }

        return a;
        
})()&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
все работает но код разбухает из за того что тела лямбд компилятор дублирует &lt;br /&gt;
даже при оптимизации по размеру... видимо из за lea eax, x&lt;br /&gt;
&lt;br /&gt;
как бы средствами C++ получить адрес ссылки чтоб компилятор смог оптимизировать ?&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Wed, 15 May 2013 02:28:56 GMT</pubDate>
		
			<author>jyuyjiyuijyu &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>19</slash:comments>
		
	</item>

	<item>
		<title>почему типы разные ?</title>
		<link>http://www.rsdn.ru/Forum/cpp/5168770.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5168770</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5168770</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5168770</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5168770</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5168770</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Всем привет&lt;br /&gt;
&lt;br /&gt;
почему на это &lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
size_t offset();

void* p;


int main()
{
    static_assert(
        
        boost::is_same&amp;lt;
            
            decltype(p), 

            decltype( *(void**) ( (intptr_t)&amp;amp;p + offset() ) )
        
        &amp;gt;::value, 
        
        "type not equal");
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
компилятор говорит&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
error C2338: type not equal&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
? ...&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Tue, 14 May 2013 20:22:34 GMT</pubDate>
		
			<author>jyuyjiyuijyu &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>9</slash:comments>
		
	</item>

	<item>
		<title>изменение сигнатуры чисто-виртуального метода в наследнике</title>
		<link>http://www.rsdn.ru/Forum/cpp/5167963.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5167963</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5167963</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5167963</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5167963</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5167963</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;приветствую!&lt;br /&gt;
&lt;br /&gt;
есть набор интерфейсов которые используются на клиенте и сервере для согласования сигнатур. но сейчас, мне нужно реализовать эти интерфейсы как посредники.&lt;br /&gt;
т.е. при входящем вызове, вызывается привязанный к этому вызову метод.&lt;br /&gt;
пример:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;struct&lt;/span&gt; base {
   &lt;span class='kw'&gt;virtual void&lt;/span&gt; m1(&lt;span class='kw'&gt;int&lt;/span&gt; v) = 0;
};
 
&lt;span class='kw'&gt;struct&lt;/span&gt; derived: base {
   &lt;span class='kw'&gt;void&lt;/span&gt; m1(&lt;span class='kw'&gt;int&lt;/span&gt; v) {}
};&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
тут все как задумывалось.&lt;br /&gt;
&lt;br /&gt;
сейчас проблема в том, что мне нужно в реализации передать дополнительный аргумент &amp;mdash; сессию подключившегося.&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;struct&lt;/span&gt; base {
   &lt;span class='kw'&gt;virtual void&lt;/span&gt; m1(&lt;span class='kw'&gt;int&lt;/span&gt; v) = 0;
};
 
&lt;span class='kw'&gt;struct&lt;/span&gt; derived: base {
   &lt;span class='kw'&gt;void&lt;/span&gt; m1(user_context *uc, &lt;span class='kw'&gt;int&lt;/span&gt; v) {
      &lt;span class='com'&gt;// тут что-то выполняем

      // тут шлем юзеру ответ&lt;/span&gt;
      uc-&amp;gt;call(&lt;span class='str'&gt;"procedure name"&lt;/span&gt;, args....);
   }
};&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
вопрос в том, каким образом я могу достичь цели?&lt;br /&gt;
&lt;br /&gt;
препроцессор тут не поможет, ибо он не сможет выдрать список типов из базового класса.&lt;br /&gt;
тут, по идее, нужно использовать метапрограммирование. и вопрос мой не в том, чтоб кто-то вместо меня написал этот код =)&lt;br /&gt;
просто, выскажите свои мысли о задаче.&lt;br /&gt;
&lt;br /&gt;
благодарен.&lt;br /&gt;
&lt;br /&gt;
зы&lt;br /&gt;
попутный вопрос: каким образом я могу задекларировать метод, имея список типов?&lt;br /&gt;
знаю, как это сделать для указателя на функцию/метод, для функционального объекта.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Tue, 14 May 2013 09:09:31 GMT</pubDate>
		
			<author>niXman &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>21</slash:comments>
		
	</item>

	<item>
		<title>порядок вычислений</title>
		<link>http://www.rsdn.ru/Forum/cpp/5167809.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5167809</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5167809</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5167809</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5167809</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5167809</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Читал статью о некоем алгоритме (формуле) и там есть момент:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
r *= a;
r /= b;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
(a, b &amp;mdash; некие выражения, в которых r не используется).&lt;br /&gt;
&lt;br /&gt;
и далее автор делает комментарий, подчеркивая именно такой порядок выражений: "обратите внимание, мы сначала умножаем, а потом делим&lt;br /&gt;
(это суть алгоритма, там операции с целыми числами и не должно быть потерь при делении)."&lt;br /&gt;
&lt;br /&gt;
я посмотрел 1.9 (Program execution) и вроде как из него следует, что выражение&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
//int a = ..., b = ..., c = ...;
a * b / c&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
всегда будет вычисляться как&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
(a * b) / c&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
и компилятор может переупорядочить его только если результат будет таким же (а с целыми, скорее всего, просто порядок _всегда_ такой)&lt;br /&gt;
иначе выходит, такое выражение может иметь разные значения в зависимости от компилятора/платформы.&lt;br /&gt;
&lt;br /&gt;
правильно ли я понимаю, что автор статьи фигню сказал про порядок и не обязательно иметь 2 отдельных выражения? (достаточно r = r * a / b)&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Tue, 14 May 2013 07:27:33 GMT</pubDate>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>как сохранить семантику ?</title>
		<link>http://www.rsdn.ru/Forum/cpp/5167697.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5167697</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5167697</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5167697</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5167697</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5167697</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Всем привет&lt;br /&gt;
&lt;br /&gt;
допустим был глобальный массив&lt;br /&gt;
&lt;br /&gt;
int data[...];&lt;br /&gt;
&lt;br /&gt;
в силу некоторых причин мне нужно выделить этот массив в куче но чтоб не переделывать весь код &lt;br /&gt;
нужно оставить глобальный указатель на этот массив в куче ... &lt;br /&gt;
&lt;br /&gt;
но тогда измениться семантика этого идентификатора например sizeof уже будет давать размер указателя&lt;br /&gt;
а не массива ...&lt;br /&gt;
&lt;br /&gt;
как сделать так чтоб массив оказался в куче и было нечто глобальное со старой семантикой массива но &lt;br /&gt;
реально ссылающееся на массив в куче ?&lt;br /&gt;
&lt;br /&gt;
спасибо&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Tue, 14 May 2013 05:32:35 GMT</pubDate>
		
			<author>jyuyjiyuijyu &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>7</slash:comments>
		
	</item>

	<item>
		<title>inline в объявлении функции внутри block scope</title>
		<link>http://www.rsdn.ru/Forum/cpp/5167410.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5167410</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5167410</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5167410</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5167410</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5167410</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Может ли кто-нибудь пояснить, что имеется ввиду в стандарте?&lt;br /&gt;
&lt;br /&gt;
ISO/IEC 14882:2011&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;7.1.2 Function specifiers [dcl.fct.spec]&lt;br /&gt;
&lt;br /&gt;
3 ... The inline specifier shall not appear on a block scope function declaration.&lt;/p&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Т.е. что-то наподобие такого писать нельзя, получается?&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;iostream&amp;gt;

&lt;span class='kw'&gt;int&lt;/span&gt; main()
{
    &lt;span class='kw'&gt;void&lt;/span&gt; foo();
    foo();
}

&lt;span class='kw'&gt;void&lt;/span&gt; foo()
{
    std::cout &amp;lt;&amp;lt; &lt;span class='str'&gt;"::foo() \n"&lt;/span&gt;;
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Или я ошибаюсь?&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Mon, 13 May 2013 17:50:29 GMT</pubDate>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Вопрос про лямбду (C++ 11)</title>
		<link>http://www.rsdn.ru/Forum/cpp/5166301.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5166301</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5166301</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5166301</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5166301</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5166301</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Всем привет!&lt;br /&gt;
Вот &lt;a href="http://stackoverflow.com/questions/11669292/objective-c-11-why-cant-we-assign-a-block-to-a-lambda" class="m" target="_blank"&gt;здесь&lt;/a&gt; показано, что код&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;int&lt;/span&gt; main() {
&lt;span class='kw'&gt;auto&lt;/span&gt; lambda1 = []() -&amp;gt; &lt;span class='kw'&gt;void&lt;/span&gt; { printf(&lt;span class='str'&gt;"Lambda 1!\n"&lt;/span&gt;); };
lambda1 = lambda1; &lt;span class='com'&gt;// error: use of deleted function ‘main()::&amp;lt;lambda()&amp;gt;&amp;amp; main()::&amp;lt;lambda()&amp;gt;::operator=(const main()::&amp;lt;lambda()&amp;gt;&amp;amp;)’&lt;/span&gt;
&lt;span class='kw'&gt;return&lt;/span&gt; 0;
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
не компилируется и даже объяснено, вроде бы, почему.&lt;br /&gt;
&lt;br /&gt;
Так же, как и этот код:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;auto&lt;/span&gt; l1=[](){&lt;span class='kw'&gt;return&lt;/span&gt; 1;}
&lt;span class='kw'&gt;auto&lt;/span&gt; l2=[](){&lt;span class='kw'&gt;return&lt;/span&gt; 2;}
l1=l2; &lt;span class='com'&gt;//Error&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Там, правда, речь про XCode, но все же. Но вот в VS2010 первый блок вполне себе компилится и даже запускается, но при этом &lt;br /&gt;
IntelliSense выдает странное сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
"IntelliSense: function "lambda []void ()-&amp;gt;void::operator=(const lambda []void ()-&amp;gt;void &amp;amp;)" (declared at line 9) cannot be referenced -- it is a deleted function"&lt;br /&gt;
&lt;br /&gt;
Кто-нибудь может прокомментировать, как сие понимать?&lt;br /&gt;
&lt;br /&gt;
Вообще по стандарту C++11 первый код должен компилироваться? А второй?&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Sun, 12 May 2013 17:57:15 GMT</pubDate>
		
			<author>sun2013 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>float и  boost::lexical_cast, boost::program_options, std::istringstream</title>
		<link>http://www.rsdn.ru/Forum/cpp/5165551.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5165551</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5165551</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5165551</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5165551</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5165551</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Коллеги &amp;mdash; подскажите пожалуйста что нужно предусмотреть чтобы программа &lt;br /&gt;
которая использует вышеназванные функции корректно работала на разных&lt;br /&gt;
системах с разными региональными настройками.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Я пробовал в системе ставить запятую как десятичный разделитель, но&lt;br /&gt;
&lt;br /&gt;
вышеназванные функции только срабатывают с числами вида "3.14" а с "3,14" не отрабатывают.&lt;br /&gt;
&lt;br /&gt;
Спасибо.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Sat, 11 May 2013 14:10:07 GMT</pubDate>
		
			<author>sjukov &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Прошу код ревью Convex Hull</title>
		<link>http://www.rsdn.ru/Forum/cpp/5165372.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5165372</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5165372</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5165372</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5165372</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5165372</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Конвекс Хал &amp;mdash; даются точки, надо их обвязать, как бы, резинкой вокруг.&lt;br /&gt;
Я придумал свой алгоритм (велосипед), реализовал на плюсах, опубликовал в гит хабе. Даже написал описание алгоритма с картинками. Все в академических целях. Помогите, пожалуйста. Сделайте код ревью. Код не длинный, должен быть понятен.&lt;br /&gt;
&lt;br /&gt;
Цель: читабельность, легкая модификация (расширение) в будущем, быстродействие в рамках разумного, но не в ущерб всему остальному.&lt;br /&gt;
&lt;br /&gt;
Программа консольная. Берет файл с картинкой, окружает точки конвекс халом, сохраняет результат в другой файл. Екзешник, кстати, проверен софтпедией, вирусов и малваре нету. Смотрите там есть ссылка на сертификат.&lt;br /&gt;
&lt;br /&gt;
Зачем это нужно?&lt;br /&gt;
&lt;br /&gt;
Хочется пообщаться на технические темы. Научиться чему-то новому и самому поделиться опытом с товарищами.&lt;br /&gt;
&lt;br /&gt;
Вот ссылка: &lt;a href="http://github.com/evpo/ConvexHull" class="m" target="_blank"&gt;http://github.com/evpo/ConvexHull&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Заранее прошу прощение за английский язык для тех кому трудно читать и других кто замечает ошибки. &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt; Кстати замечания по этому поводу тоже принимаются.&lt;br /&gt;
&lt;br /&gt;
Спасибо заранее.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Sat, 11 May 2013 08:13:08 GMT</pubDate>
		
			<author>greenpci &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>23</slash:comments>
		
	</item>

	<item>
		<title>Непонятная проблема с выделение памяти</title>
		<link>http://www.rsdn.ru/Forum/cpp/5164430.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5164430</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5164430</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5164430</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5164430</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5164430</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Нашел на форуме функцию для конвертации из cp1521 кодировки в utf-8 (код ниже), слегка модифицировал ее , пытаюсь преобразовать строку получаю ошибку выделения памяти в string (строка помечена). Причем самое странное функция работает для 15 символов включающих кириллицу и 23 символа для латиницы... Вероятно где-то портится память.... но где понять не могу...&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;

&lt;span class='kw'&gt;#include&lt;/span&gt; &lt;span class='str'&gt;"Converter.h"&lt;/span&gt;

&lt;span class='kw'&gt;int&lt;/span&gt; main(&lt;span class='kw'&gt;int&lt;/span&gt; argc, &lt;span class='kw'&gt;char&lt;/span&gt;* argv[])
{
    std::string s, out;
    s = &lt;span class='str'&gt;"sr;gkna ;sklr ;pkjseporgj какая-то длинна строка которая вызывает ошибку"&lt;/span&gt;;
    cp1521_utf8(s, out);
    &lt;span class='kw'&gt;return&lt;/span&gt; 0;
}

&lt;span class='com'&gt;//Converter.h&lt;/span&gt;
&lt;span class='kw'&gt;#pragma&lt;/span&gt; once
&lt;span class='kw'&gt;#if&lt;/span&gt; !defined( __Converter_H_ )
&lt;span class='kw'&gt;#  define&lt;/span&gt; __Converter_H_

&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;string&amp;gt;

&lt;span class='kw'&gt;void&lt;/span&gt; cp1521_utf8(std::string&amp;amp; in, std::string&amp;amp; out);

&lt;span class='kw'&gt;#endif&lt;/span&gt; &lt;span class='com'&gt;//__Converter_H

//Converter.cpp&lt;/span&gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &lt;span class='str'&gt;"Converter.h"&lt;/span&gt;

&lt;span class='kw'&gt;void&lt;/span&gt; cp1521_utf8(std::string&amp;amp; in, std::string&amp;amp; out)
{
&lt;span class='kw'&gt;static const unsigned __int16&lt;/span&gt; utf[ 256 ] = {
    0x0    ,0x1    ,0x2    ,0x3    ,0x4    ,0x5    ,0x6    ,0x7    ,0x8    ,0x9    ,0xa    ,0xb    ,0xc    ,0xd    ,0xe    ,0xf    ,
    0x10   ,0x11   ,0x12   ,0x13   ,0x14   ,0x15   ,0x16   ,0x17   ,0x18   ,0x19   ,0x1a   ,0x1b   ,0x1c   ,0x1d   ,0x1e   ,0x1f   ,
    0x20   ,0x21   ,0x22   ,0x23   ,0x24   ,0x25   ,0x26   ,0x27   ,0x28   ,0x29   ,0x2a   ,0x2b   ,0x2c   ,0x2d   ,0x2e   ,0x2f   ,
    0x30   ,0x31   ,0x32   ,0x33   ,0x34   ,0x35   ,0x36   ,0x37   ,0x38   ,0x39   ,0x3a   ,0x3b   ,0x3c   ,0x3d   ,0x3e   ,0x3f   ,
    0x40   ,0x41   ,0x42   ,0x43   ,0x44   ,0x45   ,0x46   ,0x47   ,0x48   ,0x49   ,0x4a   ,0x4b   ,0x4c   ,0x4d   ,0x4e   ,0x4f   ,
    0x50   ,0x51   ,0x52   ,0x53   ,0x54   ,0x55   ,0x56   ,0x57   ,0x58   ,0x59   ,0x5a   ,0x5b   ,0x5c   ,0x5d   ,0x5e   ,0x5f   ,
    0x60   ,0x61   ,0x62   ,0x63   ,0x64   ,0x65   ,0x66   ,0x67   ,0x68   ,0x69   ,0x6a   ,0x6b   ,0x6c   ,0x6d   ,0x6e   ,0x6f   ,
    0x70   ,0x71   ,0x72   ,0x73   ,0x74   ,0x75   ,0x76   ,0x77   ,0x78   ,0x79   ,0x7a   ,0x7b   ,0x7c   ,0x7d   ,0x7e   ,0x7f   ,
    0x402  ,0x403  ,0x201a ,0x453  ,0x201e ,0x2026 ,0x2020 ,0x2021 ,0x20ac ,0x2030 ,0x409  ,0x2039 ,0x40a  ,0x40c  ,0x40b  ,0x40f  ,
    0x452  ,0x2018 ,0x2019 ,0x201c ,0x201d ,0x2022 ,0x2013 ,0x2014 ,0      ,0x2122 ,0x459  ,0x203a ,0x45a  ,0x45c  ,0x45b  ,0x45f  ,
    0xa0   ,0x40e  ,0x45e  ,0x408  ,0xa4   ,0x490  ,0xa6   ,0xa7   ,0x401  ,0xa9   ,0x404  ,0xab   ,0xac   ,0xad   ,0xae   ,0x407  ,
    0xb0   ,0xb1   ,0x406  ,0x456  ,0x491  ,0xb5   ,0xb6   ,0xb7   ,0x451  ,0x2116 ,0x454  ,0xbb   ,0x458  ,0x405  ,0x455  ,0x457  ,
    0x410  ,0x411  ,0x412  ,0x413  ,0x414  ,0x415  ,0x416  ,0x417  ,0x418  ,0x419  ,0x41a  ,0x41b  ,0x41c  ,0x41d  ,0x41e  ,0x41f  ,
    0x420  ,0x421  ,0x422  ,0x423  ,0x424  ,0x425  ,0x426  ,0x427  ,0x428  ,0x429  ,0x42a  ,0x42b  ,0x42c  ,0x42d  ,0x42e  ,0x42f  ,
    0x430  ,0x431  ,0x432  ,0x433  ,0x434  ,0x435  ,0x436  ,0x437  ,0x438  ,0x439  ,0x43a  ,0x43b  ,0x43c  ,0x43d  ,0x43e  ,0x43f  ,
    0x440  ,0x441  ,0x442  ,0x443  ,0x444  ,0x445  ,0x446  ,0x447  ,0x448  ,0x449  ,0x44a  ,0x44b  ,0x44c  ,0x44d  ,0x44e  ,0x44f
};

    &lt;span class='kw'&gt;int&lt;/span&gt; cnt = in.size(), i = 0, j = 0;
    &lt;span class='kw'&gt;int&lt;/span&gt; sz = cnt*4+1;

    &lt;span class='kw'&gt;char&lt;/span&gt; *res = &lt;span class='kw'&gt;new char&lt;/span&gt;( sz );

    &lt;span class='com'&gt;//memset( res, 0, sizeof(res));&lt;/span&gt;

    &lt;span class='kw'&gt;for&lt;/span&gt;(; i &amp;lt; cnt; ++i ) {
        &lt;span class='kw'&gt;unsigned __int16&lt;/span&gt; c = utf[ (&lt;span class='kw'&gt;unsigned char&lt;/span&gt;) in[ i ] ];
        &lt;span class='kw'&gt;if&lt;/span&gt;( c &amp;lt; 0x80 ) {
            res[ j++ ] = c;
        }
        &lt;span class='kw'&gt;else if&lt;/span&gt;( c &amp;lt; 0x800 ) {
            res[ j++ ] = c &amp;gt;&amp;gt; 6 | 0xc0;
            res[ j++ ] = c &amp;amp; 0x3f | 0x80;
        } 
        &lt;span class='kw'&gt;else if&lt;/span&gt;( c &amp;lt; 0x10000 ) {
            res[ j++ ] = c &amp;gt;&amp;gt; 12 | 0xe0;
            res[ j++ ] = c &amp;gt;&amp;gt; 6 &amp;amp; 0x3f | 0x80;
            res[ j++ ] = c &amp;amp; 0x3f | 0x80;
        } 
        &lt;span class='kw'&gt;else if&lt;/span&gt;( c &amp;lt; 0x200000 ) {
            res[ j++ ] = c &amp;gt;&amp;gt; 18 | 0xf0;
            res[ j++ ] = c &amp;gt;&amp;gt; 12 &amp;amp; 0x3f | 0x80;
            res[ j++ ] = c &amp;gt;&amp;gt; 6 &amp;amp; 0x3f | 0x80;
            res[ j++ ] = c &amp;amp; 0x3f | 0x80;
        }
    }
    res[ j ] = &lt;span class='str'&gt;'\0'&lt;/span&gt;;

    &lt;span class='com'&gt;//ПРОБЛЕМА ВОТ ТУТ&lt;/span&gt;
    std::string s(res, j);
    out = s;
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Thu, 09 May 2013 19:25:51 GMT</pubDate>
		
			<author>kolobok55 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>4</slash:comments>
		
	</item>

	<item>
		<title>Поставить значение переменной в области видимости</title>
		<link>http://www.rsdn.ru/Forum/cpp/5163916.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5163916</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5163916</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5163916</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5163916</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5163916</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Привет,&lt;br /&gt;
&lt;br /&gt;
Есть ли такой паттерн в С++ что б поставить некой переменной (типа глобальной) некое значение, а как область видимости пройдет, то обратно старое значиние вернулось.&lt;br /&gt;
Например какой либо флаг в начале ф-ции поставить надо , а что б как вышло обратно вернулось.&lt;br /&gt;
Сами знаете return можно сделать а флаг убрать забыть.&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Thu, 09 May 2013 01:36:44 GMT</pubDate>
		
			<author>Kubyshev Andrey &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>11</slash:comments>
		
	</item>

	<item>
		<title>стандарт и имплементация std::vector::insert(it, count, obj)</title>
		<link>http://www.rsdn.ru/Forum/cpp/5163904.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5163904</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5163904</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5163904</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5163904</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5163904</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Вопрос относительно функции insert контейнера vector.&lt;br /&gt;
&lt;br /&gt;
В старом стандарте было:&lt;br /&gt;
void insert ( iterator position , size_type n , const T&amp;amp; x);&lt;br /&gt;
в новом стандарте C++11 стало: &lt;br /&gt;
iterator insert(const_iterator position, size_type n, const T&amp;amp; x);&lt;br /&gt;
&lt;br /&gt;
Попытка вызова:&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
  std::vector&amp;lt;&lt;span class='kw'&gt;int&lt;/span&gt;&amp;gt; v;
  v.push_back(0);
  v.insert(v.cbegin(), std::vector&amp;lt;&lt;span class='kw'&gt;int&lt;/span&gt;&amp;gt;::size_type(0), 0);&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;a href="http://ideone.com/P0ZJhU" class="m" target="_blank"&gt;выдаёт ошибку&lt;/a&gt; на C++11 (gcc-4.7.2)&lt;br /&gt;
&lt;br /&gt;
note: void std::vector&amp;lt;_Tp, _Alloc&amp;gt;::insert(std::vector&amp;lt;_Tp, _Alloc&amp;gt;::iterator, std::vector&amp;lt;_Tp, _Alloc&amp;gt;::size_type, const value_type&amp;amp;) [with _Tp = int; _Alloc = std::allocator&amp;lt;int&amp;gt;; std::vector&amp;lt;_Tp, _Alloc&amp;gt;::iterator = __gnu_cxx::__normal_iterator&amp;lt;int*, std::vector&amp;lt;int&amp;gt; &amp;gt;; typename std::_Vector_base&amp;lt;_Tp, _Alloc&amp;gt;::pointer = int*; std::vector&amp;lt;_Tp, _Alloc&amp;gt;::size_type = unsigned int; std::vector&amp;lt;_Tp, _Alloc&amp;gt;::value_type = int]&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;no known conversion for argument 1&lt;/b&gt; from ‘std::vector&amp;lt;int&amp;gt;::const_iterator {aka __gnu_cxx::__normal_iterator&amp;lt;const int*, std::vector&amp;lt;int&amp;gt; &amp;gt;}’ to ‘std::vector&amp;lt;int&amp;gt;::iterator {aka __gnu_cxx::__normal_iterator&amp;lt;int*, std::vector&amp;lt;int&amp;gt; &amp;gt;}’&lt;br /&gt;
&lt;br /&gt;
Это ошибка gcc?&lt;br /&gt;
&lt;br /&gt;
Если учесть требование нового стандарта:&lt;br /&gt;
23.2.3/8&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;The iterator returned from a.insert(p, n, t) points to the copy of the first element inserted into a, or p if n == 0.&lt;/p&gt;&lt;/blockquote&gt;
то предполагаемая реализация данной функции insert для вызова &lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
*(v.insert(v.cbegin(), std::vector&amp;lt;&lt;span class='kw'&gt;int&lt;/span&gt;&amp;gt;::size_type(0), 0)) = 777;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
предполагает конвертацию const_iterator в iterator. Я правильно понимаю?&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Thu, 09 May 2013 00:34:47 GMT</pubDate>
		
			<author>B0FEE664 &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Что творится с памятью?</title>
		<link>http://www.rsdn.ru/Forum/cpp/5163692.1</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/cpp/5163692</guid>
		<comments>http://www.rsdn.ru/Forum/cpp/5163692</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=5163692</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/5163692</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=5163692</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Дано:&lt;br /&gt;
куча файлов вида (Untitled001.pdf, Untitled002.pdf, Untitled003.pdf ...) в количестве более 800 штук;&lt;br /&gt;
строки вида (I-А-1, I-А-2, I-А-3, I-А-4, I-А-5, ... ), каждая из которых содержится в одном из кучи файлов.&lt;br /&gt;
&lt;br /&gt;
Найти:&lt;br /&gt;
в каком файле содержится какая строка, например "I-А-1 Untitled012.pdf, I-А-2 Untitled117.pdf, ..." и вывести это в файл (исключительно для удобства)&lt;br /&gt;
&lt;br /&gt;
Мой (нерабочий) вариант решения проблемы:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;iostream&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;cstring&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;ctime&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;direct.h&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;string.h&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;cstdlib&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;cstdio&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;fstream&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;io.h&amp;gt;
&lt;span class='kw'&gt;#include&lt;/span&gt; &amp;lt;stdio.h&amp;gt;
&lt;span class='kw'&gt;using namespace&lt;/span&gt; std;
&lt;span class='kw'&gt;void&lt;/span&gt; main()
{
    &lt;span class='com'&gt;//файл, куда будет выводится инфа&lt;/span&gt;
    FILE* rslt = _fsopen(&lt;span class='str'&gt;"E:\\TEST\\rslt.txt"&lt;/span&gt;, &lt;span class='str'&gt;"w"&lt;/span&gt;, _SH_DENYNO);


    &lt;span class='kw'&gt;for&lt;/span&gt;(&lt;span class='kw'&gt;int&lt;/span&gt; i = 0; i &amp;lt; 1000; i ++)
    {
        &lt;span class='com'&gt;//лепим имя файла&lt;/span&gt;
        &lt;span class='kw'&gt;char&lt;/span&gt; fp[256] = {0};

        &lt;span class='kw'&gt;if&lt;/span&gt; (i &amp;lt; 9)
            strcpy_s(fp,256,&lt;span class='str'&gt;"E:\\TEST\\det\\Untitled00"&lt;/span&gt;);
        &lt;span class='kw'&gt;else if&lt;/span&gt; (i &amp;lt; 99)
            strcpy_s(fp,256,&lt;span class='str'&gt;"E:\\TEST\\det\\Untitled0"&lt;/span&gt;);
        &lt;span class='kw'&gt;else&lt;/span&gt;
            strcpy_s(fp,256,&lt;span class='str'&gt;"E:\\TEST\\det\\Untitled"&lt;/span&gt;);


        &lt;span class='kw'&gt;char&lt;/span&gt; buf[256] = {0};
        _itoa_s(i+1, buf, 256, 10);
        strcat_s(fp,256,buf);
        strcat_s(fp,256,&lt;span class='str'&gt;".pdf\0"&lt;/span&gt;);
        &lt;span class='com'&gt;//на выходе имеем путь к файлу вида "E:\\TEST\\det\\Untitled001.pdf"
        
        //открываем файл&lt;/span&gt;
        FILE* fn = _fsopen(fp, &lt;span class='str'&gt;"r"&lt;/span&gt;, _SH_DENYNO);
        
        &lt;span class='com'&gt;//пытаемся определить его объём - количество символов файла&lt;/span&gt;
        &lt;span class='kw'&gt;int&lt;/span&gt; a = _fileno(fn); &lt;span class='com'&gt;//&lt;b&gt;именно тут происходим какая-то ошибка с памятью&lt;/b&gt;&lt;/span&gt;
        &lt;span class='kw'&gt;long&lt;/span&gt; size = _filelength(_fileno(fn));
        
                &lt;span class='com'&gt;//переводим все содержимое файла в буфер&lt;/span&gt;
        &lt;span class='kw'&gt;char&lt;/span&gt;* buffer = &lt;span class='kw'&gt;new char&lt;/span&gt; [size];
        fgets(buffer, size, _fsopen(fp, &lt;span class='str'&gt;"r"&lt;/span&gt;, _SH_DENYNO));
        
        &lt;span class='kw'&gt;for&lt;/span&gt; (&lt;span class='kw'&gt;int&lt;/span&gt; j = 0; j &amp;lt; 1000; j ++)
        {
            &lt;span class='com'&gt;//формируем искомую подстроку&lt;/span&gt;
            &lt;span class='kw'&gt;char&lt;/span&gt; numb[10] = {0};
            _itoa_s(j+1, numb, 256, 10);
            &lt;span class='kw'&gt;char&lt;/span&gt; name[256] = {0};
            strcat_s(name, 256, &lt;span class='str'&gt;"I-А-"&lt;/span&gt;);
            strcat_s(name, 256, numb);
            &lt;span class='com'&gt;//на выходе имеем строку вида "I-А-1"

            //находим вхождение искомой строки в буфферном массиве и если есть - записываем в файл соответствие &lt;/span&gt;
            &lt;span class='kw'&gt;if&lt;/span&gt; (strstr(buffer, name) != NULL)
            {
                &lt;span class='kw'&gt;char&lt;/span&gt; temp[256] = {0};
                strcat_s(temp, 256, name);
                strcat_s(temp, 256, &lt;span class='str'&gt;"\t"&lt;/span&gt;);
                strcat_s(temp, 256, fp);
                fputs(temp, rslt);
            }
        }
        fclose(fn);
    }
    _fcloseall();
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Хотя код следующего вида выполняется на ура:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
cout &amp;lt;&amp;lt; _filelength(_fileno(_fsopen(&lt;span class='str'&gt;"E:\\TEST\\det\\Untitled001.pdf"&lt;/span&gt;, &lt;span class='str'&gt;"r"&lt;/span&gt;, _SH_DENYRD))) &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
				
		</description>
		
		<category>cpp</category>
		<pubDate>Wed, 08 May 2013 18:47:32 GMT</pubDate>
		
			<author>alexelev &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>8</slash:comments>
		
	</item>
</channel>
</rss>
