C++基础入门教程(二):数据、变量、宏等
哎,木了个头的,这书太详细了~看得累人
前面部分太过基础了,很多语法方法的东西我也不重复记录了~
今天才看看C++涉及到数据的一些基础点吧,我把书中稍微比较有营养的部分抽离出来
1.初始化
一般情况下,我们声明和初始化变量是这样的:intiNum=10;
其实这是延续了C语言的语法,C++还有一种语法,是这样的:intiNum(10);
其实大部分人还是习惯用第一种吧(我也是),但如果哪天我们在别人的代码里看到第二种形式,不要被吓蒙了~
2.宏定义
宏,用最粗俗,不,是最通俗的说法来解释,那就是——查找替换。
比如这样定义一个宏:#defineNAME“mutou”
那么,以后我们就可以到处使用NAME这个宏,程序编译之后,其实会把所有的NAME都替换为”mutou”,这就是查找替换的概念了。
为什么要这么做呢?方便修改和维护吧,只要我们稍微把宏定义改改,比如改成这样:#defineNAME“神经病啊”
那么所有使用了NAME的地方就都变了。
3.三种进制数的表示
就拿刚刚的变量来看:intiNum=10;
大家都知道,10代表的是10。(小若:喂~爸,帮我准备好100万,我要捅死个人。)
等等,别激动~!
10代表的是十进制的10,但其实我们可以用八进制和十六进制来表示的,比如:
intiNum=012; //八进制
intiNum=0XA; //十六进制
在数字前面加上0,就代表是八进制。
在数字前面加上0X,就代表是十六进制。
(注意了,是数字0,而不是字母o,不要弄错了~)
所以吖,大家不要为了装酷就在某个数字前面加上0,你所认为的007和7可不是一个数字。(小若:八进制的7和十进制的7是一样的啊!)
额,咳咳,所以大家不要为了装酷就在某个数字前加上0X,你所认为的0X7和7可不是一个数字。(小若:十六进制的7和十进制的7也是同样的!)
咳咳,总之,大家不要随便在数字前面加上0或者0X,除非你知道自己在做什么~!
4.const初探
我相信大家会经常看到const这个关键字吧?
它最基本的用法就是定义常量,比如:constintiNum=10;
这么定义的话,以后我们就不能给iNum赋值了,也就是说,iNum其实是一个常量(不会改变的一个值)。
另外,即使你想这么用的:constintiNum;
是不可以的,我们一定要给常量初始化~
关于const,还有更多的内容,不过,还是按照书的进度来吧,目前这一章的内容只是随便提了一下。
5.auto声明
相信大家在学习Cocos2d-x3.x版本时,经常会看到auto这个关键字。
其实这是C++11的新特性,它可以自动判断变量类型,不需要我们自己指定。
如果你熟悉lua的话,那么,可以粗俗,不,通俗地理解为local。
比如:
autoiNum=10;效果和intiNum=10;是一样的。
autosp=Sprite::create();和Sprite*sp=Sprite::create();是一样的。
但,最好不要滥用,如果某些变量的类型不是十分明显的,可能用了auto反而更不利于阅读和维护了。
并且,像intiNum=10;这种最好不要用auto喇,得整死人的~
6.结束
接下来第四章的内容更厚…希望很快能有下次的教程…
相关文章
- 从c++到Java,关于Java面向对象基础的学习(一)
- 【c++】【基础】【primer_plus】【第五章】循环语句
- 【c++】【基础】【primer_plus】【第十章】面向对象与类
- 【c++】【基础】【primer_plus】【第十一章】使用类
- C++基本概念_c语言 c++区别
- C 和 C++ 中的未定义行为
- C++字符串加密_c++字符串连接函数
- C++基础——C++面向对象之类、对象与继承基础总结(类和对象概念、构造函数与析构函数、this指针、继承)
- C++基础——C++相比C语言的新特性梳理总结(C++新特性、输入输出方式、命名空间namespace)
- 详细步骤讲解matlab代码通过Coder编译为c++并用vs2019调用
- C/C++ Qt TableDelegate 自定义代理组件
- C/C++ 调用API获取当前时间
- C/C++ Rootkit 实现进程伪装
- C++基础——C++面向对象之重载与多态基础总结(函数重载、运算符重载、多态的使用)
- C++类与对象(二)
- C++模板(初阶)
- C++中的多态
- 【C++】哈希表封装实现 unordered_map 和 unordered_set
- 【C++】string类的模拟实现
- c++基础篇之C++ 模板
- C++基础之this指针与另一种“多态”
- C++基础入门教程(七):一些比较特别的基础语法总结
- C++基础入门教程(九):函数指针之回调