类比是学习一门新语言的好方法,以下我们类比java语言来看一下C语言的的数据类型。 C语言提供了丰富的数据类型,以下这张图能够非常好的表现C语言全部的数据类型: 从中能够看到C语言提供java了语言没有的结构体、共用体和指针类型,同一时候C语言缺少java中的布尔类型即boolean,C语言和jav ...
分类:
编程语言 时间:
2017-08-15 10:08:16
阅读次数:
128
1.细说指针 指针是一个特殊的变量, 它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容: 指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、 指针本身所占据的内存区。 2.指针的类型 最简便办法就是把指针声明语句里的指针名字去掉,剩下的部分就是这个指 ...
分类:
其他好文 时间:
2017-08-10 21:10:08
阅读次数:
169
C++提供了一种特殊的指针类型void*,它可以保存任何类型对象的地址。 void*表明该指针与一地址相关,但不清楚存储在此地址上的对象的类型。 void*只支持几种有限的操作: 1)与另一个指针进行比较 2)向函数传递void*指针或从函数返回void*指针 3)给另一个void*指针赋值 不允许 ...
分类:
其他好文 时间:
2017-08-08 09:32:11
阅读次数:
167
Caffe的整体流程图: 程序入口:main() g_brew_map实现过程,首先通过 typedef定义函数指针 typedef int (*BrewFunction)(); 这个是用typedef定义函数指针方法。这个程序定义一个BrewFunction函数指针类型,在caffe.cpp 中 ...
分类:
其他好文 时间:
2017-08-05 14:08:57
阅读次数:
289
1.旧式转型 C风格:(T) expression 函数风格:T (expression) 2.C++新式转型 const_cast<T>(expression) 将对象的常量性移除。 dynamic_cast<T>(expression) 执行“安全向下转型”,决定某对象是否归属于继承体系中的某个 ...
分类:
其他好文 时间:
2017-08-04 15:15:51
阅读次数:
171
练习6.52 a)类型提升; b)算术类型转换。 练习6.53 a)如果实参是常量引用,则调用下面的函数 b)如果实参是指向常量的指针,则调用下面的函数 c)不合法,因为在char*后面加上const指的是该指针是个常量,这是一个顶层const,一个拥有顶层const的形参无法和另一个没有顶层con ...
分类:
编程语言 时间:
2017-08-04 14:28:58
阅读次数:
174
指针函数是个函数,是返回指针类型到函数。 函数指针是个指针,是指向函数地址到指针。 区分两者的关键点是,函数名是否用*和括号“包围”起来。 就简单说明到这里吧, 看代码注释。^_^ ...
分类:
编程语言 时间:
2017-08-03 09:51:56
阅读次数:
127
1.首先#define 定义不重视作用域(scope),虽然可以#undef控制,但是不美观,还存在多次替换的问题,以及没有任何封装性. 2.const XXX_XX,保证其常量性以及可控的作用域,如果是指针类型则 const XXXX* const ptr="hello world",也可以完美替 ...
分类:
编程语言 时间:
2017-07-29 20:28:02
阅读次数:
215
1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 class Base{ 8 public: 9 int data; 10 Base(int y):data(y){} 11 }; 12 Ba... ...
分类:
其他好文 时间:
2017-07-29 11:29:27
阅读次数:
134
1. UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) - (instancetype)init UNAVAILABLE_ATTRIBUTE; 告诉编译器该方法不可用,如果强行调用编译器会提示错误。比如某个类在构造的时候不想直接通过init来初始化 ...
分类:
移动开发 时间:
2017-07-24 13:15:03
阅读次数:
225