常量字符串存储与销毁引发的误解

这边文章主要讨论常量字符串存储与销毁引发的误解,问题出现的本质原因在于编译器对堆、栈和静态存储区的使用策略,以及VS开发环境对Debug版本和Release版本的处理方式不同。
摘要由CSDN通过智能技术生成

前言:这是笔者从论坛看到一个网友的探讨帖,觉得有趣,就拿来分析了一下。

原帖地址:http://topic.csdn.net/u/20110302/22/a4df98e6-a15c-41d9-8ae2-b24964fc5ab8.html

这篇文章是探索一些C++编译的知识,内容比较枯燥,适宜真正的程序员来看,并且不能太浮躁,否则,是吸收不了这篇文章的营养的,就不要浪费时间继续往下看了。当然,鉴于笔者水平有限,这篇文章的分析也可能有某些地方有错误,恳请大家留言指教。

附:测试环境 Windows Xp  ;  VS2008

 

奇怪的代码如下:

#include <iostream>
using namespace std;
char* strcpy_(char* strDest,const char* strSrc)
{
   
if (strDest==NULL || strSrc == NULL)
    {
       
return 0;
    }
   
char *strDestCopy = strDest;
   
while ((*strDest++ = *strSrc++) != '/0')
    {

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值