博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人学习C++过程中对const的总结:初始化系列之用字面值常量与其他类型的值初始化的区别(一)...
阅读量:5947 次
发布时间:2019-06-19

本文共 660 字,大约阅读时间需要 2 分钟。

const这个系列博大精深,在学习过程一点一点积累记录。但是由于随笔在发布之后不能修改,有了新的想法之后不能再在原随笔上修改,只好用一个个系列来慢慢积累。

哈哈,在发布之后发现是可以继续编辑的,好吧,不管了,这种方式挺好。

 

正文:

昨晚接触到一个算法题目,回文字符串,在网上找了某段代码,但是发现有点问题,原形大概如下:

....

const int len=mystr.size();  //mystr是string的一个实例,其实我挺奇怪这里为什么用int而不是string::size_type或者auto,算了,这个不是这里重点

int array[len][len];

....

然后上面数组的定义错误,原因是len不是常量值。

刚才又遇到另外一种情况:

...

const int len=10;

int array[len][len];

...

在这里代码没有问题。后来结合书和网上的资料。第二种情况是在编译过程中初始化,然后在编译过程中已经用10把len替换掉,所以数组定义的代码能通过编译。

但是第一种情况,len需要在运行过程中才初始化,在编译过程中系统不知道len是什么,所以编译出错。

另外,除了函数,用普通的变量也是不行的,例如下面的代码:

int a=10;

const int len=a;

int array[len][len];

 

这是个人在学习中的一些收获,各路大神不喜勿喷。

转载于:https://www.cnblogs.com/liangweixin/p/5353241.html

你可能感兴趣的文章
TMG阵列部署选择
查看>>
Repeater 控件 当数据源没有数据的时候显示 暂无数据 的两种方式
查看>>
大型网站的架构设计图分享-转
查看>>
9.15游戏化体验的原则初探
查看>>
(function(){...}())与(function(){...})()
查看>>
css实现气泡框效果
查看>>
【原创】已知四个坐标点求其两条直线交点坐标
查看>>
request 路径随笔
查看>>
.NET基础之自定义泛型
查看>>
HTML5 Canvas 实现的9个 Loading 效果
查看>>
java.lang.NoClassDefFoundError: org/apache/avro/ipc/Responder
查看>>
利用JasperReport+iReport进行Web报表开发
查看>>
JSON and Microsoft Technologies(翻译)
查看>>
ylbtech-LanguageSamples-ConditionalMethods(条件方法)
查看>>
js 判断各种数据类型
查看>>
【leetcode】Find Peak Element ☆
查看>>
linux:sed高级命令之n、N(转)
查看>>
触发器更新多条数据
查看>>
微信公众平台原创声明功能公测 自媒体原创保护的福音
查看>>
ADF_Advanced ADF系列2_Fusion应用的客制和个性化(Part2)
查看>>