![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
zhanghenglei
这个作者很懒,什么都没留下…
展开
-
关于cout和printf的压栈顺序问题
关于cout和printf的输出相关总结,查了些资料,终于明白了。特别摘录总结如下:问题:#include using namespace std;int rolc = 0;int f1(){coutreturn rolc++ ;}int main(){coutreturn 0;}在看上面的程序,一般想当然会输出:In f1() 0:转载 2012-03-05 12:25:33 · 3428 阅读 · 0 评论 -
返回引用类型需要注意的东东
1.什么是“引用”?申明和使用“引用”要注意哪些问题? 引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类转载 2012-03-18 18:28:49 · 939 阅读 · 0 评论 -
C++标准库异常类继承层次
查看exception头文件 对这种形式的定义不是太懂,再多看看 有空去理解 C++标准库异常类继承层次中的根类为exception,其定义在exception头文件中,它是C++标准库所有函数抛出异常的基类,exception的接口定义如下:namespace std { class exception { public:转载 2012-03-17 11:22:49 · 3612 阅读 · 0 评论 -
istringstream"类和getline()的用法分
getline Syntax: #include istream& getline( istream& is, string& s, char delimiter = '\n' ); getline是读一行 遇到换行符才结束istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。(以空格分隔提取字符) 举个例子 来自cppp原创 2012-03-11 19:05:48 · 1480 阅读 · 0 评论 -
cin>>i的返回值的问题
最近在看C++,学到了标准库这一章,看到cin的时候,我们经常看到很多的代码中会有这么一段while(cin>>x){ ......}。这里我们最关注的问题是while括号里面cin>>x他每次输入的时候返回的是什么值呢。所以我们也就会问cin的返回值是什么。我也看到很多像我这样的新手问这样的问题,下面说下我个人的见解,如有不当之处,还请指正! 其实我倒觉得我们这个问题问错了,我们不应该转载 2012-03-09 12:24:46 · 822 阅读 · 0 评论 -
函数调用过程详解
当调用者比如h调用某个函数f时,从编译器或者汇编语言角度来看,主要分以下几个步骤进行:h将实参按照从右向左的顺序一个个压入stack中。 执行一个转移指令call f f执行完函数体后,将返回值传入寄存器AX/EAX/RAX中。 f执行转移指令ret h将实参从stack中一个一个弹出。 由此可见,编译器是不会把“下一条指令地址”压入Stack中的。然而,当从f返回后,CP转载 2012-03-07 23:03:26 · 3662 阅读 · 0 评论 -
约瑟夫环问题 (用循环链表解决)
/*已知N个人围坐在一张圆桌周围,从编号为k的人开始报数,数到m的那个人出列,他的下一个人又从1开始报数,数到m的那个人又出列,以此规则重复下去,直到圆桌周围的全部出列. 基本思想(1),建立一个具有n个链结点且不带头结点的循环链表(2),确定第一个报数点的位置(3),不断地从链表中删除一个链结点,直到链表中还有一个链结点止*/#include #inc转载 2012-03-06 15:13:08 · 1583 阅读 · 0 评论 -
函数可重入性及编写规范
一、可重入函数 1)什么是可重入性? 可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入 函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。转载 2012-03-05 22:01:14 · 718 阅读 · 0 评论 -
指向二维数组的指针
在C++ Primer第四章遇到了二维数组和指针的内容,理解起来有点绕,这里做个小节。 在C++ Primer中介绍了一种访问二位数组的方式,定义一个指向一位数组的指针,通过这个指针访问二维数组:?1234567891011121314151617181920#in转载 2012-03-05 12:32:21 · 741 阅读 · 0 评论 -
动态三维数组分配:
动态三维数组分配:摘自网络两种方式:int ***CreateGrid(int hight, int row, int col){int i,j,k;static int *** p3 ;p3 = new int**[hight ] ;for( i = 0 ; i p3[i] = new int*[row] ;for( i = 0 ; i转载 2012-04-10 10:05:23 · 1015 阅读 · 0 评论