const与#define
程序员文章站
2024-03-23 11:27:58
...
const与#define
#include "stdafx.h"
#include <iostream>
using namespace std;
#define N 200 //宏,在预处理时发生了替换 不接受类型检查
//const 永远不会发生改变
//const 意义上相当于 #define
#if 0
1.C++中的const 是真const 是为了取代#define 定义的宏常量
2.const 修饰的变量称为常变量,常(不可变 用任何方法均不可变)
变量(类型的概念 可以接受类型的检查)
3.const 修饰指针
4.const 修饰引用
const == >const &
none const == > const &
const type & == > !type(常量、表达式等)
5.脱const化
const_cast<typeid>(待转化类型)
typeid 的类型必须为引用或指针,不可以直接应用与对象
//对const 类型的脱const后的指针和引用的 写操作c++未定义
//如i++ + i++ a[i++]=i++;
const int a = 5;
为了实现 int &ra = a;
第一种方式:const int &ra = a;
第二种方式:int &ra = const_cast<int&>(a);
#endif
int _tmain(int argc, _TCHAR* argv[])
{
const int a = 200;
//编译阶段发生了替换 也就是在以后过程中
//凡是用到a的地方 就相当于把a直接换成了200
int b = 10;
int c;
c = b + a;//c = b + 200;
cout << c << endl;
return 0;
}
上一篇: DB2 与 JDBC DB2JDBCIBM应用服务器数据结构
下一篇: #define用法总结
推荐阅读
-
#define, const与inline
-
const与#define
-
DB2生成表model与mybatis的mapper中的常用方法 博客分类: mybatis db2mybatis
-
DB2 与 JDBC DB2JDBCIBM应用服务器数据结构
-
重温Struts--ActionMapping和ActionForward 博客分类: Web 框架与开发 Struts浏览器应用服务器数据挖掘Web
-
Web应用系统设计原则 博客分类: 架构与设计 Web网络应用数据结构数据挖掘嵌入式
-
typedef和define的区别
-
#define用法总结
-
地理空间数据处理与模型 博客分类: GIS-RS-GPS 领域模型数据挖掘算法网络应用虚拟机
-
C语言--结构体与内存对齐准则简单理解