<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]warning：deprecated conversion from string constant to char * 解决方案]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Thu, 09 Apr 2015 06:22:55 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：之前大学学习过c语言，后来上班后学习并以php工作了几年，近来对纯c语言感兴趣，于是学习并试着用c语言编写并编译一个简单的内存指针池小程序发现有warning，multipepollserver.cpp:648: warning: deprecated conversion from string constant to ‘char*’，于是查了下是这样解决的，作一下学习并备案。<br/>原来是：<br/>void saveUpedFilePartInfo2Mem(upFilePart* filePart,const char* guid,unsigned int partIndex,char* httpHeader,char* httpBody,unsigned int httpBodyLen,char* uploadTime)<br/>修改为：<br/>void saveUpedFilePartInfo2Mem(upFilePart* filePart,const char* guid,unsigned int partIndex,const char* httpHeader,const char* httpBody,unsigned int httpBodyLen,const char* uploadTime);//存一个分片&gt;信息到内存池里去&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/><br/>———————————————————————为什么要加const修饰实现没有警告—————————————————————————<br/><textarea name="code" class="C" rows="15" cols="100">
#include &lt;iostream&gt;
using namespace std;

int fuc(char *a)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; a &lt;&lt; endl;
&#125;
int main()
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;fuc(&quot;hello&quot;);
&#125;

</textarea><br/>Linux 环境下当GCC版本比较高时，编译代码可能出现的问题<br/><br/>问题是这样产生的，先看这个函数原型：<br/><textarea name="code" class="C" rows="15" cols="100">void someFunc(char *someStr);</textarea><br/>再看这个函数调用：<br/><br/><textarea name="code" class="C" rows="15" cols="100">someFunc(&quot;I&#039;m a string!&quot;);</textarea><br/>把这两个东西组合起来，用最新的g++编译一下就会得到标题中的警告。<br/>为什么呢？原来char *背后的含义是：给我个字符串，我要修改它。<br/><br/>而理论上，我们传给函数的字面常量是没法被修改的。<br/><br/>所以说，比较合理的办法是把参数类型修改为const char *。<br/><br/>这个类型说背后的含义是：给我个字符串，我只要读取它。<br/><br/>如何同时接收const类型和非const类型？重载<br/><textarea name="code" class="C" rows="15" cols="100">
#include &lt;iostream&gt;
using namespace std;
 
int fuc(char *a)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; a &lt;&lt; endl;
&#125;
int fuc(const char *a)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; a &lt;&lt; endl;
&#125;
int main()
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;char a[] = &quot;hello 123&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;fuc(a);
&nbsp;&nbsp;&nbsp;&nbsp;const char b[] = &quot;hello 123&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;fuc(a);
&#125;
</textarea><br/>结果<br/>[root@test hello]# g++ helo.cpp <br/>[root@test hello]# ./a.out <br/>hello 123<br/>hello 123<br/>摘自：http://www.cnblogs.com/kaituorensheng/p/3575403.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]warning：deprecated conversion from string constant to char * 解决方案]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>