随笔分类 - c++相关
摘要:最近这段时间看操作系统的东西看的头晕脑胀的,所以先停个一晚上,写个控制台下的计算器,来练练栈的使用。 首先,分析一下要完成的东西。输入肯定使用string类来输入的,然后第一步,就是把string的字符串转化成数字存储起来。转化的这个数字存储是中序表达式,由于运算符有优先级的问题,中序表达式直...
阅读全文
摘要:这个主要写一点关于在C里面,堆栈是怎么保存数据的,以及调用函数时,堆栈指针的变化。编译环境:32位ubuntu系统,gcc编译,gdb调试首先说明两个寄存器1.rbp:栈帧指针,具体应该是指向当前函数栈的栈底,是不动的。实际的作用应该就是类似于一个基址,通过这个基址上栈中变量的寻址。2.rsp:栈顶...
阅读全文
摘要:可变长参数函数的参数数量可变。如printf,scanf等函数都是可变长参数函数。 对C语言来说,实现可变长参数函数要用到三个宏:va_start(),va_end(),va_arg()和一个特殊类型va_list,他们被包含在stdarg.h中。 void va_start(va_...
阅读全文
摘要:C++的函数的参数调用是传值方式。想要改变传值调用,有引用和指针两种方式。其中,引用的实现机理也是通过一个指针,但是具体和指针传值的方式又不一样。具体见:C++中的指针与引用对于指针传值,其实实际上也是一个值传递,只是这个值是地址。所以在函数中改变*p的值,相应的调用函数的值也会改变。但是最近在做一...
阅读全文

浙公网安备 33010602011771号