关于const的一些小注意,以及C的struct和C++的class的区别
--------------------------------------------------------------------------------
const表示常量。它的位置不同,代表的意义不一样。
const <数据类型> *<指针变量>; 这种格式const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;不能改变的是指针的内容即*p的值。
const <数据类型> *<指针变量> <=> (const <数据类型>) * <指针变量>
<数据类型> * const <指针变量>;这种格式const位于星号的右侧,const就是修饰指针本身,即指针本身是常量;不变的是指针p。
<数据类型> * const <指针变量> <=> (<数据类型>*) const <指针变量>;
以上的参看 CSDN里的链接 。
C的struct和C++的class的区别在于:class的默认访问权限是private,而struct默认访问权限是public.class这个关键字比struct有更多的能力。
还有如下的区别:
struct A
{
int i;
};
A a={0}; 可以这样初始化
如果是class 最好的选择是构造函数,但是class仍然支持这一做法
class A
{
public:
int i;
};
A a={1};
在C++中,struct X{ int i; };和class X{public: int i;}; 尽管是等同的,但是C++ 仍然建议class和struct表示不同的概念(尽管C++没有结构体这一概念)
class 的思想是从 struct 发展而来的,在C++的struct还可以用于继承,struct中还可以写成员函数,很具体的差别一时很难全部搞清楚,还有这也和使用的编译器有关。
以上的参看 CSDN里的链接 。
【作者: Jackie.QQ:373775281】【访问统计:】【2005年12月2日 星期五 21:05】【 加入博采】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3745203