社区
C++ 语言
帖子详情
有哪位高手知道从C++中赋值操作的底层机制?
caizhiyi123
2004-04-22 07:38:17
在C++中赋值语句的底层机制是什么呢?比如说,有如下赋值语句:
int i;
i=5;
操作完成后,对象i中的值便为5,这种操作究竟是怎样实现的呢?这个问题我一直迷惑不解,请高手不吝赐教!!!
...全文
75
6
打赏
收藏
有哪位高手知道从C++中赋值操作的底层机制?
在C++中赋值语句的底层机制是什么呢?比如说,有如下赋值语句: int i; i=5; 操作完成后,对象i中的值便为5,这种操作究竟是怎样实现的呢?这个问题我一直迷惑不解,请高手不吝赐教!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kytfox
2004-04-27
打赏
举报
回复
学习中
jp1984
2004-04-22
打赏
举报
回复
楼上说的还没有到最底层。。。计算机原理里面讲的很清楚。。。最根本还是要深究到硬件。。 偶目前也在学习中。 。。电路****难****
RookieStar
2004-04-22
打赏
举报
回复
以下是基本类型的赋值:
1: int main()
2: {
00401010 push ebp
00401011 mov ebp,esp
00401013 sub esp,48h
00401016 push ebx
00401017 push esi
00401018 push edi
00401019 lea edi,[ebp-48h]
0040101C mov ecx,12h
00401021 mov eax,0CCCCCCCCh
00401026 rep stos dword ptr [edi]
3: int a;
4: int b;
5: a=1;
00401028 mov dword ptr [ebp-4],1 //立即寻址
6: b=a;
0040102F mov eax,dword ptr [ebp-4] //通用寄存器eax在这里起过渡作用
00401032 mov dword ptr [ebp-8],eax //寄存器寻址
7: return 0;
00401035 xor eax,eax
8: }
00401037 pop edi
00401038 pop esi
00401039 pop ebx
0040103A mov esp,ebp
0040103C pop ebp
0040103D ret
对对象的赋值涉及到operator =号的重载,但其内部实现若涉及到基本类型,还是同样处理。
eliner
2004-04-22
打赏
举报
回复
关注
conan93000
2004-04-22
打赏
举报
回复
可以用反汇编工具看看
cngdzhang
2004-04-22
打赏
举报
回复
赋值实际是内存拷贝
例如(16位)
5的二进制是00000000 00001001
把它拷贝到给i分配的内存区域就行了
如果i位于内存0x00100000
则0x00100000内容是00000000
0x00100001内容是00001001
汇编是
MOV 0x00100000,5
【奇境】计算机图形学
底层
原理-如何从
C++
独立编写一个openGL
课程解决的问题: 作为游戏行业或者图形学从业者,你是否面临以下问题: 到底openGL
底层
如何实现的? 到底矩阵
操作
变换是怎么做到的? 到底光栅化的算法以及原理是什么? 到底如何才能从3D世界投射到2D屏幕呢? 图形学有这么多的矩阵
操作
,到底如何推导如何应用呢? 学完这门课程,你应该就可以从
底层
了解一个初级的openGL图形接口如何实现,图形学最
底层
的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到一个迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理
操作
的全套模拟流程。 课程介绍: 本课程将带领学员不使用任何图形库,实现从0到1的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现。 涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,三角形拆分绘制算法,颜色插值算法,图片
操作
,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵
操作
理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等) 最终将带领大家通过
C++
实现一个3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习 本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能
C++
内存管理
机制
内存管理是
C++
最令人切齿痛恨的问题,也是
C++
最有争议的问题,
C++
高手
从
中
获得了更好的性能,更大的自由,
C++
菜鸟的收获则是一遍一遍的检查代码和对
C++
的痛恨,但内存管理在
C++
中
无处不在,内存泄漏几乎在每个
C++
程序
中
都会发生,因此要想成为
C++
高手
,内存管理一关是必须要过的,除非放弃
C++
,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C
C/
C++
内存管理
机制
C++
的内存是如何
操作
的,换句话说就是计算机如何管理应用程序的。 参考文章:http://blog.csdn.net/anlou/article/details/7929763 内存管理是
C++
最令人切齿痛恨的问题,也是
C++
最有争议的问题,
C++
高手
从
中
获得了更好的性能,更大的自由,
C++
菜鸟的收获则是一遍一遍的检查代码和对
C++
的痛恨,但内存管理在
C++
中
无处不在,内存泄漏
C++
内存
机制
C++
内存管理 [导语] 内存管理是
C++
最令人切齿痛恨的问题,也是
C++
最有争议的问题,
C++
高手
从
中
获得了更好的性能,更大的自由,
C++
菜鸟的收获则是一遍一遍的检查代码和对
C++
的痛恨,但内存管理在
C++
中
无处不在,内存泄漏几乎在每个
C++
程序
中
都会发生,因此要想成为
C++
高手
,内存管理一关是必须要过的,除非放弃
C++
,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自
c++
内存管理
机制
详解
[导语] 内存管理是
C++
最令人切齿痛恨的问题,也是
C++
最有争议的问题,
C++
高手
从
中
获得了更好的性能,更大的自由,
C++
菜鸟的收获则是一遍一遍的检查代码和对
C++
的痛恨,但内存管理在
C++
中
无处不在,内存泄漏几乎在每个
C++
程序
中
都会发生,因此要想成为
C++
高手
,内存管理一关是必须要过的,除非放弃
C++
,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了
C++
超绝的性能。本期专题将从内存管理、内存泄漏、内存回收这三个方面来探讨
C++
内存管...
C++ 语言
64,646
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章