1.引用的本质struct typeA{ int &a;}struct typeB{ int *a;}int main(void){ cout<<sizeof(struct typeA)<<endl;//输出4 cout<<sizeof(struct typeB)<<endl;//输出4 int a =10; int &re =a;//常量要初始化,引用也要初始化,引用可能是一个常量 //综上两点,引用可能是一个常指针; int *const…
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量 C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用.引用必须连接到一块合法的内存. 一旦引用被初始化为一个对象,就不能被指向到另一个对象.指针可以在任何时候指向到另一个对象. 引用必须在创建时被初始化.指针可以在任何时间被初始化. C++ 中创建引用 试想变量名称是变量附属在内存位置中的标签,可以把引用当成是变量附属在内存位置中…
引用变量在创建的时候就必须初始化.无法创建一个未被初始化的引用. #include <iostream> using namespace std; int main() { int x=10; int y=20; int &r1; } 编译结果: 假设引用未被初始化.编译将报错. 改动引用: 引用总是指向初始化的那个变量,也就是说,引用一旦被创建并初始化之后就无法改变.这一规则有点让人迷惑. . 假设声明了一个引用的同一时候使用一个变量赋值了,那么这个引用就会一直指向这个变量. 在此后…
语言指针 定义及使用 变量是一种使用方便的占位符,用于引用计算机内存地址.取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址. 一个指针变量指向了一个值的内存地址.类似于变量和常量,在使用指针前你需要声明指针. var var_name *var-type var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针. 示例 func testPointer() { var pi *int var a = 20 pi = &a fmt.Print…