
C/C++
文章平均质量分 72
汝南张公子
通信小白努力中!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的虚函数
多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种方法”,用相同的形式访问一组通用的运算,每个运算可能对应的行为不同。C++支持编译时多态和运行时多态,运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。运行时多态的基础是基类指针,基类指针可以指向任何派生类对象。虚函数与基类指针在一起时会有奇妙的现象...1.虚函数是为了实现多转载 2017-03-08 13:20:48 · 238 阅读 · 0 评论 -
再谈虚函数
对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重要了,它就像一转载 2017-03-08 14:28:44 · 235 阅读 · 0 评论 -
x&(x-1)
x&(x-1)的学问:求下面函数的返回值int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看转载 2017-03-08 20:55:02 · 454 阅读 · 0 评论 -
大数的阶层(N!)
对于大数来说,一个数的阶乘是非常大的,同样,一个int类型的整数,他的阶乘就有可能会很大。就拿50来说,他的阶乘位数是65位,就已经远远超过了long long int类型的最大值。这时候,我们要通过字符串的方法,来进行阶乘的运算。当然,需要注意的是:我们所求一个数的阶乘,这个数是在int范围内的,5000的阶乘位数是16326位。其方法是:首先,我们是可以转载 2017-03-21 23:09:48 · 740 阅读 · 0 评论 -
sizeof()详解
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型 sizeof使用形式: sizeof(type)转载 2017-03-14 10:38:59 · 1649 阅读 · 0 评论 -
Volatile 在程序设计中的作用
编译器优化的时候可能会出现问题,如当遇到多线程编程时,变量的值可能因为别的线程而改变了,而该寄存器的值不会相应改变,从而造成应用程序读取的值和实际的变量值不一致。例如,在本次线程内,当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;当以后再取变量值时,就直接从寄存器中取值;当变量值在本线程里改变时,会同时把变量的新值复制到该寄存器中,以便保持一致。原创 2017-07-12 21:41:17 · 456 阅读 · 0 评论