常量传递1
来源:互联网 发布:怎样成为淘宝客服 编辑:程序博客网 时间:2024/05/21 17:10
<pre name="code" class="cpp">const int i = 12;int *j = const_cast<int*>(&i);*j = 13;cout << *j << endl;cout << i << endl;
输出:13 12
const int i = 12;0095466A mov dword ptr [i],0Ch int *j = const_cast<int*>(&i);00954671 lea eax,[i] 00954674 mov dword ptr [j],eax *j = 13;00954677 mov eax,dword ptr [j] 0095467A mov dword ptr [eax],0Dh cout << *j << endl;00954680 mov esi,esp 00954682 mov eax,dword ptr [__imp_std::endl (95A330h)] 00954687 push eax 00954688 mov edi,esp 0095468A mov ecx,dword ptr [j] 0095468D mov edx,dword ptr [ecx] 0095468F push edx 00954690 mov ecx,dword ptr [__imp_std::cout (95A32Ch)] 00954696 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (95A334h)] 0095469C cmp edi,esp 0095469E call @ILT+420(__RTC_CheckEsp) (9511A9h) 009546A3 mov ecx,eax 009546A5 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (95A31Ch)] 009546AB cmp esi,esp 009546AD call @ILT+420(__RTC_CheckEsp) (9511A9h) cout << i << endl;009546B2 mov esi,esp 009546B4 mov eax,dword ptr [__imp_std::endl (95A330h)] 009546B9 push eax 009546BA mov edi,esp 009546BC push 0Ch009546BE mov ecx,dword ptr [__imp_std::cout (95A32Ch)] 009546C4 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (95A334h)] 009546CA cmp edi,esp 009546CC call @ILT+420(__RTC_CheckEsp) (9511A9h) 009546D1 mov ecx,eax 009546D3 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (95A31Ch)] 009546D9 cmp esi,esp 009546DB call @ILT+420(__RTC_CheckEsp) (9511A9h)
看到反汇编的代码可以看到,输出 i 的时候直接替换为了 0Ch (009546BC地址地方)
0 0
- 常量传递1
- MySQ常量传递辨析
- 对象切割 - 常量引用传递
- C++二维数组,指针常量与常量指针、常量参数传递、常量变量存储地址
- 1常量
- 不要为改变字符的函数传递常量字符
- C++ 常量指针或者常量引用作为函数参数传递的原因
- C++ 常量指针或者常量引用作为函数参数传递的原因
- 常量指针和指针常量(1)
- JAVA值传递和引用传递与栈,堆和常量池
- 变量与常量(1)
- 文字常量(1)
- 8.2.1:常量
- 静态常量测试1
- 2.2.1 常量变量
- 常量
- 常量
- 常量
- 信任关系建立
- WPF 中通过ComBox的改变来改变Frame中的子.xaml项 View-ViewModel模式
- vim取消语法高亮
- c语言的隐式转换
- mysql常用操作
- 常量传递1
- POJ2286 The Rotation Game
- 苹果再下一盘很大的棋?Metal优化作用及影响浅析
- poj 1661 Help Jimmy
- android 每周学习笔记及总结(每周更新)
- hdu1312 Red and Black(搜索基础)
- RecyclerView
- hdu 1015 Safecracker 暴力
- POSIX 下进程控制经典案例