汇编和c++初学,c++字符串加整型,导致的字符串偏移

从汇编角度分析"helloworld"+1

汇编和c++初学,c++字符串加整型,导致的字符串偏移_第1张图片
汇编和c++初学,c++字符串加整型,导致的字符串偏移_第2张图片

“helloworld”+1对应
mov         dword ptr [a],1  
mov         eax,dword ptr [a] 
add         eax,offset string "helloworld" (03CCCBCh)
eax地址偏移加了1,
lea  ecx,[test]
最终取的内存偏移地址,所以此时的test是elloword,后面调用iostream封装的字符串相加方法。
最终结果是

汇编和c++初学,c++字符串加整型,导致的字符串偏移_第3张图片

做的前端,如果是js,1会转换为字符串后相加,最近刚学c++和汇编,目前还是一知半解的,如有不对,请指正

你可能感兴趣的:(汇编,c++)