知识学习

C++知识点

*

 __int64 v1; // rax
v1 = std::operator<<<std::char_traits<char>>(&std::cout, "What do you want to say?");

std命名空间,operator«是重载运算符函数,«<std::char_traits>是template里面的东西可以不管,rdi=&std::cout,rsi=“What do you want to say?“的地址 返回值rax=&std::cout

.text:00000000004012FB                 mov     rdi, cs:_ZSt3cin_ptr
.text:0000000000401302                 lea     rsi, [rbp+var_50]
.text:0000000000401306                 mov     [rbp+var_60], rsi
.text:000000000040130A                 call    _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_ ; std::operator>><char,std::char_traits<char>>(std::istream &,char*)

operator»也是一个重载运算符函数,»流运算符,rdi=&std::cin,rsi=rbp+var_50,相当于输入函数,将&std::cin的内容输入到rbp+var_50,返回值rax=&std::cin