前言 C语言强大的原因之一在于几乎能掌控所有的细节,包括对内存的处理,什么时候使用内存,使用了多少内存,什么时候该释放内存,这都在程序员的掌控之中.而不像Java中,程序员是不需要花太多精力去处理垃圾回收的事情,因为有JVM在背后做着这一切.但是同样地,能力越大,责任越大.不恰当地操作内存,经常会引起难以定位的灾难性问题.今天我们就来看看有哪些常见的内存问题. 初始化堆栈中的数据 对申请的内存或自动变量进行初始化是一个好习惯,例如: int test(){ int *a = (int*)
1.系统自己抛异常 //go语言抛异常 func test3_1() { l := [5] int {0,1,2,3,4} var index int = 6 fmt.Println(l) l[index] = 6 } 测试结果 //test3_1() //panic这个关键字,这是系统自己抛的异常 //panic: runtime error: index out of range 2.用户抛异常,使用panic关键字 func test3_2(s float64) (m float64) {
在写程序的时候,定义类时要在大括号后面加上: class Point{ public: Point(int a,int b); Point(const Point &p); int getx(Point p); int gety(Point p); private: int x,y; } 最后大括号一定要加上分号,上面是错误实例,编译出错 ew types may not be defined in a return type 所以一定别忘了结尾的分号: class Point{ public: