c++
文章平均质量分 79
zhengfushijie
这个作者很懒,什么都没留下…
展开
-
有关const volatile int i = 100 的问题
const和volatile放在一起的意义在于:(1)本程序段中不能对a作修改,任何修改都是非法的,或者至少是粗心,编译器应该报错,防止这种粗心;(2)另一个程序段则完全有可能修改,因此编译器最好不要做太激进的优化。“const”含义是“请做为常量使用”,而并非“放心吧,那肯定是个常量”。“volatile”的含义是“请不要做没谱的优化,这个值可能变掉的”,而并非“你可以修原创 2014-11-05 20:44:20 · 521 阅读 · 0 评论 -
C++中public,protected,private访问
第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由转载 2014-10-27 08:08:42 · 238 阅读 · 0 评论 -
c/c++ float储存
在C++中float数据类型是采用科学计数法来表示的,就像下面这样: 其中S位符号位,占一位的二进制数,1为正,0为负,T为底数,按二进制数存储,占23位,E为指数部分,占8位。结构如下: float 在内存中是按逆字节的存储的:其中尾数是这样的形式:1.T1T2T3...T23。转换为十进制的数: 因为指数可以是负数,c++指数部分按原来的指数加上原创 2014-11-05 19:39:25 · 940 阅读 · 1 评论 -
c++ 语法
C和C++怎么分配和释放内存,区别是什么C: malloc free //函数 calloc() 会初始化 realloc 会重置大小C++: new delete //运算符C++中内存分为5个区: 堆 栈 全局/静态区 常量区 自由存储区(也有说代码区) malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可原创 2014-10-22 17:46:14 · 381 阅读 · 0 评论 -
for循环的执行顺序
for循环的执行顺序用如下表达式:for(expression1;expression2;expression3) { expression4; }执行的顺序应该是:1)第一次循环,即初始化循环。 首先执行表达式expression1(一般为初始化语句);再执行expression2(一般为条件判断语句),判断expression1转载 2014-10-04 07:18:19 · 327 阅读 · 0 评论 -
sizeof和sizeof的问题
关于sizeof(string),今天看那本面试宝典的时候看到这个表达式,有点吃惊,书上写着sizeof(string)=4;当时很纳闷,难道分配4个字节大小的内存给string吗?查阅了相关资料得出结论:string的实现在各库中可能有所不同,但是在同一库中相同一点是,无论你的string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的,与sizeof()无关转载 2014-10-22 11:12:47 · 441 阅读 · 0 评论 -
C/C++ 语言中的表达式求值
经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; cout C++ 不是规定 要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量/减量操作等),什么时候从该变量能够取到新值?转载 2014-11-09 19:29:03 · 342 阅读 · 0 评论 -
c++内存分配方式
从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。静态分配的区域的生命期是整个软件运行期,就是说从软件运行开始到软件终止退出。只有软件终止运行后,这块内存才会被系统回收 在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集原创 2014-11-06 18:30:59 · 273 阅读 · 0 评论 -
c和指针——指针和const
c和指针——指针和const常量const修饰符修饰一个变量,则此变量的值在初始化之后无法改变。声明的变量可以用来声明数组;定义常量建议用#define,在预处理时进行替换。在遇到指针时,const与指针结合形成不同的组合,对于const和指针概念不清晰,很容易犯错误。先看下面的代码: 1: int *a; //指向整形变量的指针 2: const int *c转载 2014-10-14 11:33:28 · 346 阅读 · 0 评论 -
typedef和#define的用法与区别
typedef和#define的用法与区别 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef转载 2014-10-28 08:54:24 · 228 阅读 · 0 评论 -
C/C++除法及取模
除法的取整分为三类:向上取整、向下取整、向零取整。1.向上取整:向+∞方向取最接近精确值的整数。在这种取整方式下,7/4=2,7/(-4)=-1,6/3=2,6/(-3)=-22.向下取整:向-∞方向取最接近精确值的整数。在这种取整方式下,7/4=1,7/(-4)=-2,6/3=2,6/(-3)=-23.向零取整:向0方向取最接近精确值的整数,换言之就是舍去小数部分,因此又称截断取整。原创 2014-11-04 20:13:17 · 2244 阅读 · 0 评论 -
【C++11】新特性——auto的使用
C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。1. 自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推断,可以大大简化我们的编程工作。下面是一些使用auto的例子。转载 2014-11-04 21:07:15 · 333 阅读 · 0 评论 -
浅谈C++多态性
浅谈C++多态性 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来转载 2014-10-22 12:05:33 · 278 阅读 · 0 评论