在C语言中不可改变的数据(量)就是常量    在C语言中有三种常量        字面量(直接量),就是直接写出来的,从写法上就可以看出值与类型等,例如:19,123.456等        名字常量(宏定义,宏替换),语法:            在代码一开始的位置写上                #define 名字 值            运行原理说明:程序要经过:编码->编译->链接->运行                    在编译的过程中,又分为一开始的预编译     …
1.reinterpret_cast<type_id>(表达式)的作用: type-id 必须是一个指针.引用.算术类型.函数指针或者成员指针.它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针.type_id的作用是在赋值的时候用到 int i5=reinterpret_cast<int>(p);//前面是int,所以方括号里的也是int #include <iostream> using namespace std; int main() { char…
1.什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 2.为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点. 3.cons有什么主要的作用?(1)可以定义const常量,具有不可变性. 例如: const int Max=100; int Array[Max]; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患.例如: void…
这里很容易搞混: tyepdef double dou;//这里是dou是double的别名 #include<iostream> using namespace std; int main() { typedef char *pstring; //pstring实际上是指向char的指针. const pstring cstr = 0; //cstr 是指向char 的常量指针 const pstring *ps; //ps是一个指针,他的对象是指向char的常量指针 const char…
今天在写C++代码的时候遇到一个错误,涉及到了常量的this指针的问题. 简化后的代码如下: #include <iostream> #include <string> using namespace std; class A { private: string str; string getStr(); public: void print() const; }; string A::getStr() { return str; } void A::print() const {…
/* int const *p; *p是常量, p是变量 const int *p; *p是常量, p是变量 int * const p; *p是变量, p是常量 const int * const p; *p是常量, p是常量 int const * const p; *p是常量, p是常量 */ #import <Foundation/Foundation.h> #import <objc/runtime.h> /** const的作用 1.const只修饰它右边的内容 2.被…
问]在php中定义常量时,const与define的区别?  [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很多. (1).const用于类成员变量的定义,一经定义,不可修改.define不可用于类成员变量的定义,可用于全局常量.(2).const可在类中使用,define不能.(3).const不能在条件语句中定义常量.例如:    if (...){        const FOO = 'BAR'; …
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象,  const 指针和指向 const 对象的指针, const 对象的引用 作者:webabcd 介绍不可或缺 Windows Native 之 C++ this 指针 对象数组 对象和指针 const 对象 const 指针和指向 const 对象的指针 const 对象的引用 示例1.CppEmployee 类CppEmployee.h #pragma…
const与指针在一起的几种情况. const int *p1; //表示p1本身不是const,指向的变量是const. const *int p2; //语法错误 int const *p3; //表示p3本身不是const,指向的变量是const. int *const p4; //表示p4本身是const,指向的变量不是const. const int *const p5; //表示p4本身是const,指向的变量是const. 区分p本身是const还是指向的变量是const,一个简单…
概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,C#中只有CLR能识别的MSIL.另外还有链接器.汇编器.为了了便于理解我们可以统称为编译器) 那编译时就是简单的作一些翻译工作,比如检查你有没有粗心写错啥关键字了啊.有啥词法分析,语法分析之类的过程.就像个老师检查学生的作文中有没有错别字和病句一样.如果发现啥错误编译器就告诉你.如果你…