1、指针常量——指针类型的常量(int *const p) 本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。 2、常量指针——指向“常量”的指针(const int *p, int c ...
分类:
其他好文 时间:
2020-05-01 16:21:51
阅读次数:
55
学到socket的select模型,遇到一个tpyedef struct类型后面接了指针, 例如 typedef struct test{ int a; }St,*Point 这其中 St是别名,*Point是指向此结构体的指针类型 举例 St one; Point a = &one; 这里的a已经 ...
分类:
其他好文 时间:
2020-04-30 13:10:45
阅读次数:
84
我们应该将引用类型的参数声明成const的,以表明我们之所以使用引用只是出于效率上的考虑,而并非想让函数修改对象的值。例如: void f(const Large& arg) { //不允许修改"arg"的值 //(除非显式使用类型转换) } 类似的,指针类型的参数被声明成const意味着该指针所指 ...
分类:
其他好文 时间:
2020-04-27 13:24:25
阅读次数:
59
c#有自己的内存回收机制,所以在c#中我们可以只new,不用关心怎样delete,c#使用gc来清理内存,这部分内存就是managed memory,大部分时候我们工作于c#环境中,都是在使用托管内存,然而c#毕竟运行在c++之上,有的时候,(比如可能我们需要引入一些第三方的c++或native代码 ...
本文主要是《C++ Primer Ed5》第13章内容,希望能够对C++的拷贝控制了解的更为深入一些。 概述 C++中的拷贝控制操作主要涉及的几个拷贝控制函数为: 拷贝构造函数 拷贝赋值运算符 移动构造函数 移动赋值运算符 析构函数 其中, 1和3定义了当用同类型的另一个对象【初始化】本对象时做什么 ...
分类:
编程语言 时间:
2020-04-25 19:36:37
阅读次数:
85
new的作用是在堆上申请内存空间,首先写"new",然后再写申请空间存放的数据类型,申请空间的大小取决于数据的类型,比如申请一个空间存放整型变量,那么堆会分配4byte,然后我们需要知道分配的空间在什么位置,所以返回的是指针类型 #include<iostream> #include<string> ...
分类:
编程语言 时间:
2020-04-24 20:16:51
阅读次数:
84
情况是这样的:字面值0是一个int类型而不是指针。如果C++发现一个0,在只能使用指针的上下文中,它会不情愿的把0解释为一个空指针,但是那是迫不得已的情况。C++的基本策略是0是一个int类型,而不是一个指针类型。 实际上,NULL的真实情况也是这样的。NUll的细节上有一些不确定性,因为各个实现被 ...
分类:
其他好文 时间:
2020-04-23 19:23:13
阅读次数:
53
1. strlen函数 【原型】: 【作用】: 【实例】: 【注意】: 2. sizeof 【作用】: 关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等,如下面的示例代码所示: 相对于函数 strlen,这里的示例代码运 ...
分类:
其他好文 时间:
2020-04-15 19:54:19
阅读次数:
69
static_cast 1. 基础数据类型转换(基本类型) 2. 同一继承体系中类型的转换(父子类型) 3. 任意类型与空指针(void )之间的转换(指针类型) dynamic_cast 执行派生类指针或引用与基类指针或引用之间的转换。 1. 其他三种都是编译时完成的,dynamic_cast是运 ...
分类:
编程语言 时间:
2020-04-15 01:02:23
阅读次数:
106
一、三种指针类型 1. 普通指针 2. 非类型安全指针 unsafe.Pointer(类似c的 void ) 3. 内置类型指针 uintpter(其实就是一个整数,代表地址,支持运算) 普通指针和unsafe.Pointer类型的指针都能代表引用一个地址,被GC发现。但是uintptr是不代表引用 ...
分类:
其他好文 时间:
2020-04-12 16:29:45
阅读次数:
76