c++中 :: 这个是什么意思 有什么用
5个回答
展开全部
双冒号 :: 操作符被称为域操作符(scope operator),当与一个类名相连的时候 它就成为一个类域操作符。
我们可以非正式地把域看作是一个可视窗口全局域的对象在它被定义的整个文件里,一直到文件末尾都是可见的。在一个函数内被定义的对象是局域的(local scope), 它只在定义其的函数体内可见。每个类维持一个域,在这个域之外 ,它的成员是不可见的。类域操作符告诉编译器后面的标识符可在该类的范围内被找到。
我们可以非正式地把域看作是一个可视窗口全局域的对象在它被定义的整个文件里,一直到文件末尾都是可见的。在一个函数内被定义的对象是局域的(local scope), 它只在定义其的函数体内可见。每个类维持一个域,在这个域之外 ,它的成员是不可见的。类域操作符告诉编译器后面的标识符可在该类的范围内被找到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.WORD,SWORD,BYTE?不区分大小写吗?
这些不是标准C++的数据类型,而是windows的.他们区分大小写
具体的楼主可以转定义过去看下.
2.->?
这是指针的意思!
3.*的用法?
*号的用法有好几种
BYTE *pBy = NULL 是定义BYTE指针,并指向NULL
BYTE byTmp = *pBy; 这里是取pBy指针所指向内存地址上的内容
int a = 1*8; 这里是用作乘法
希望楼主多看看基础
================补充:==================================
cc =(SDWORD)(*(SWORD*)(BlkPtr->P2))-*(SWORD*)(BlkPtr->P1);
cc的类型是SWORD windows下定义为: typedef short SWORD 也就是短整形
后面的括号多了看起来就吓人 其实剥离开来还是比较容易看明白的
先看这个BlkPtr->P2 这里我不知道BlkPtr是结构体还是指针,但是可以确定的是它的定义中有P2这个变量,在类里叫类成员,BlkPtr->P2就是"我"要使用P2.
(SWORD*)(BlkPtr->P2):这句话的意思是将P2强制转换为"SWORD*"类型.SWORD* 是SWORD类型的指针.
(*(SWORD*)(BlkPtr->P2)):这句话的意思就是 在上面强制转换后的地址里取内容,得到的就是一个SWORD类型的数值.
(SDWORD)(*(SWORD*)(BlkPtr->P2)):这里则是将得到的数值在次强制转换为SDWORD类型.
*(SWORD*)(BlkPtr->P1)这句话我就留给楼主自己琢磨了!希望楼主能自己解决.
中间的"-"号 就不用解释了吧 呵呵!
PS:
如果使用C++的话 类型转换最好用static_cast<>()这样,指针转换的最好使用reinterpret_cast<>().一些数据类型的话到vs里面转定义就能看到了.
这些不是标准C++的数据类型,而是windows的.他们区分大小写
具体的楼主可以转定义过去看下.
2.->?
这是指针的意思!
3.*的用法?
*号的用法有好几种
BYTE *pBy = NULL 是定义BYTE指针,并指向NULL
BYTE byTmp = *pBy; 这里是取pBy指针所指向内存地址上的内容
int a = 1*8; 这里是用作乘法
希望楼主多看看基础
================补充:==================================
cc =(SDWORD)(*(SWORD*)(BlkPtr->P2))-*(SWORD*)(BlkPtr->P1);
cc的类型是SWORD windows下定义为: typedef short SWORD 也就是短整形
后面的括号多了看起来就吓人 其实剥离开来还是比较容易看明白的
先看这个BlkPtr->P2 这里我不知道BlkPtr是结构体还是指针,但是可以确定的是它的定义中有P2这个变量,在类里叫类成员,BlkPtr->P2就是"我"要使用P2.
(SWORD*)(BlkPtr->P2):这句话的意思是将P2强制转换为"SWORD*"类型.SWORD* 是SWORD类型的指针.
(*(SWORD*)(BlkPtr->P2)):这句话的意思就是 在上面强制转换后的地址里取内容,得到的就是一个SWORD类型的数值.
(SDWORD)(*(SWORD*)(BlkPtr->P2)):这里则是将得到的数值在次强制转换为SDWORD类型.
*(SWORD*)(BlkPtr->P1)这句话我就留给楼主自己琢磨了!希望楼主能自己解决.
中间的"-"号 就不用解释了吧 呵呵!
PS:
如果使用C++的话 类型转换最好用static_cast<>()这样,指针转换的最好使用reinterpret_cast<>().一些数据类型的话到vs里面转定义就能看到了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是一种汇编语言和C语言相似,如果不做编程的话,对你没什么用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询