c++ 编写经验,欢迎指正

htqx 2006-12-01 10:56:31

1。关于const .放在修饰的主语的后面。
int const
int * const
int * & const;
int * & [] const; //数组不能修饰
int * & () const; //常函数只能出现在类中,被常对象调用

2。参数传递,值传递,引用传递,多用引用少用值
a。基本类型用值,包括指针
b。类类型用引用,注意,const &比 &有更广的适用性。const &可以传递常量,临时对象,还可以接受中途的类型转换。
c。引用本身是通过指针技术来实现的,指针的注意事项,同时作用于引用。

3。数组只能通过引用传递,否则,第一维降级为指针。
int (&)[1][2]
int *[2]

4.对象分为堆对象,栈对象, 堆对象使用new创建,栈对象的活动范围在创建其范围内。范围是:语句,块,函数。小心引用或指针所引用的栈对象脱离范围,自动释放。

5。对象分为基本对象,类对象,基本类型临时变量不能转化为普通引用,只能转化为常量引用。

6。文字量, 即在源代码输入的文字。数字为int类型,字符串为 char const[字符个数+1] 。文字量为临时对象。

7。c风格字符串,文字量字符串可以转化为char * 和 char const*。但是他的真实类型是 char const[字符个数+1]。文字量字符串后添加字符'\0'为c风格字符串,通过类型char * 或 char const* 来使用,但是因为类型是错误的,所以应该小心奕奕。

8。c++是一种类型和对象分离的语言,类型决定编译时的正确性,对象决定运行时合法性。

9。引用是类型的一部分,但是引用和非引用的界限很掩蔽。因此,应该避免同时存在引用于非引用的参数,也就是采用统一的传值或传引用规范。

10。在类的设计中,引用和指针成员一般都不能默认的拷贝,而需要定义自己的拷贝函数。

11。拷贝函数需要检测拷贝的是否为自身。

12。类型转换是类的构造函数,实用T o(obj),同时调用了类型转换语法,而 T o = obj 没有显式调用类型转化。 operator T()是另一种类型转换,但是无显式或隐式的分别。

13。多采用中文名称。





...全文
379 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
htqx 2006-12-03
  • 打赏
  • 举报
回复
我个人最讨厌的回答就是: 还是看xxx书,google。。。之类的
要就干脆不回答,我也不会怪你。

口水贴就不必要了。~~
看来发到csdn这个帖子已死。
expter 2006-12-02
  • 打赏
  • 举报
回复
int * & const; //好象没这个写法吧
13。多采用中文名称。

up..
road1981 2006-12-02
  • 打赏
  • 举报
回复
5。对象分为基本对象,类对象,基本类型临时变量不能转化为普通引用,只能转化为常量引用。

为啥专门说基本类型对象?类对象呢?


10。在类的设计中,引用和指针成员一般都不能默认的拷贝,而需要定义自己的拷贝函数。

1,类里面有引用成员?还真没用过
2,既然都有拷贝了,那是不是也应该说说拷贝构造,析构...

12。类型转换是类的构造函数,实用T o(obj),同时调用了类型转换语法,而 T o = obj 没有显式调用类型转化。 operator T()是另一种类型转换,但是无显式或隐式的分别。

还是看看tcpl里是怎么说的吧,感觉你对类型转换的概念不是很清晰...
libinzhangyuan 2006-12-02
  • 打赏
  • 举报
回复
很多说法不是很严谨。
另:书不是拿来背的,背这些没有用。理解了,实践实践,再找高层次的书看看,加深理解。

如果可以的话,你买本c++ prima 看,边看边实践,看完了再买 c++编程思想 。
fflush 2006-12-02
  • 打赏
  • 举报
回复
13。多采用中文名称。
-----------------------

什么意思
wxspll 2006-12-02
  • 打赏
  • 举报
回复
However,mark first.
htqx 2006-12-02
  • 打赏
  • 举报
回复
对哦。谢谢指正~
cunsh 2006-12-02
  • 打赏
  • 举报
回复
int * & const; //??
weiyiabout 2006-12-01
  • 打赏
  • 举报
回复
顶一个

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧