社区
C++ 语言
帖子详情
int a:3;是什么意思?
leqian
2004-01-24 03:42:35
int main()
{
class s
{
int a:3;
};
}
以上代码可以编译通过,请问,class中的int a:3;是什么用法?
...全文
477
3
打赏
收藏
int a:3;是什么意思?
int main() { class s { int a:3; }; } 以上代码可以编译通过,请问,class中的int a:3;是什么用法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hifrog
2004-01-24
打赏
举报
回复
输出:
3
-4
因为二进制011为十进制3的补码,二进制100为十进制-4的补码(注意第一位是二进制数的符号位)。
hifrog
2004-01-24
打赏
举报
回复
恩,对于有符号整数,如果设成int a:3;
那么加上符号位它的位宽只有3位,即表示范围是-4-+3这8个整数,如果超出这个范围则溢出:程序测试如下:
#include<iostream>
int main()
{
class s
{
public: int a:3;
};
s s1;
s1.a=3;
std::cout<<s1.a<<endl;
s1.a=4;
std::cout<<s1.a<<endl;
return 0;
}
inline
2004-01-24
打赏
举报
回复
是定义 a 为类的"位域"成员! 例如你 int a:3;
则 a 只能用 3 位来存放数据! 超出 3 位则发生数据溢出!
一般用 unsinged int 来修饰 a ! 例如:
#include<iostream>
using namespace std;
class B
{
public:
B(int n) { x = n; }
void show() { cout << x << endl; }
private:
unsigned int x:3;
};
void main(void)
{
B obj1(7), obj2(8);
obj1.show();
obj2.show(); // 8 超出 3 位二进制位表示范围溢出为 0
}
复盘:C语言中
int
a[][3]={1,2,3,4,5,6,7,8}
什么意思
,
int
a[3][]又是
什么意思
,结果为10的是
1)c语言的基础知识,经常在互联网大厂的笔试题中出现,这些八股文虽然考试那会你不知道,但是考完你需要复盘,好好学习 2)本题考的就是基本的数据类型的定义,c语言,可能还有c++,还有python,还有java啥的 3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。...
彻底理解c语言中
int
(*p)[3]和
int
*p[3]的意思
int
*p[3]是指针数组,这个数组有3个元素,每个元素都是指针。
int
(*p)[3]是指向一维数组的指针变量,就是这个指针指向了一个一维的数组。
int
(*p)[3] 数组指针,p是一个指针,指向1个有3个变量的数组
int
*p[3]指针数组,p是一个有3个元素的数组,每个元素的类型是整形指针
int
*p[3] 这种定义方式是我们非常熟悉的一种。 可以看出,定义数组的 []...
理解
int
*a,
int
**a,
int
a[],
int
*a[]的区别
深入理解
int
a;
int
* a;
int
** a;
int
(*a)[];
int
(*a)(
int
)
a)
int
a;表示一个内存空间,这个空间用来存放一个整数(
int
); b)
int
* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间; c)
int
** a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放指针的空间,并且指向的这个空间中的指针,指向一个整数。也简单的说,指向了一个b)中提到的空间; d)
int
(*a)[4...
C++函数传参
int
a,
int
*a,
int
&a,const
int
&a的区别
函数传参
int
a,
int
&a,const
int
&a的区别 # 传参方式 作用
int
a 值传递 无法改变a的值
int
*a 地址传递 传入的是a是一个地址
int
&a 引用传递 传入的是一个指向a的指针,可直接修改a的值 const
int
&a 不改变值的引用传递 提高传参效率,同时不允许...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章