随笔分类 - C/C++
摘要:const 指针与指向const的指针当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理解为,p是一个指针,它指向的内容是const int 类型。p本身不用初始化它可以指向任何标示符,但它指向的内容是不能被改变的。 第二种很容易被理解成是p是一个指向int的const指针(指针本身不能被修改),但这样理解是错误的,它也是表示的
阅读全文
摘要:缺省构造函数(指没有参数的构造函数)在C++语言中是一种让你无中生有的方法。构造函数能初始化对象,而缺省构造函数则可以不利用任何在建立对象时的外 部数据就能初始化对象。有时这样的方法是不错的。例如一些行为特性与数字相仿的对象被初始化为空值或不确定的值也是合理的,还有比如链表、哈希表、图等等 数据结构也可以被初始化为空容器。 但不是所有的对象都属于上述类型,对于很多对象来说,不利用外部数据进行完全的初始化是不合理的。 比如一个没有输入姓名的地址簿对象,就没有任何意义。在一些公司里,所有的设备都必须标有一个公司ID号码,所以在建立对象以模型化一个设备时,不提供一 个合适的ID号码,所建立的对象就.
阅读全文
摘要:我们知道,当一个源文件所依赖的头文件被修改时,这个源文件需要被重新编译(易碎的基类问题),为了能讲述我将说明的这个方法,我们先来看看一个简单的例子,其代码如下:view plain//head.hstruct A{ int i;};class B{ A* a;public: B(int n = 0); void show(); ~B();};//head.cpp#include "head.h"#include <iostream.h>B::B(int n){ a = new A; a->i = n;}void B::show(){ cout <&l
阅读全文
摘要:#include "stdio.h"#include<stdlib.h>//不要加这行void main(){ int max(int i,int j); int x,y; x=1; y=2; printf("%d\n",max(x,y));}int max(int i,int j){ return (i>j)? i:j;}编译出错:D:\C++\code\a\a.c(162) : error C2059: syntax error : 'type'D:\C++\code\a\a.c(168) : error C2059
阅读全文

浙公网安备 33010602011771号