C/C++基础
游鸿
这个作者很懒,什么都没留下…
展开
-
c++浮点数可以表示十进制有效数字
单精度浮点数(float) 32位表示,符号位S占1位,指数部分E(阶码)占8位,尾数部分M占23位,由于M通常可以写成1.XXX,1通常被省略,因此有效位加1,因此可以表示十进制有效值为10^(23+1),该值大于10^7,小于10^8,故有效位数为7双精度浮点数(double) 64位表示,符号位S占1位,指数部分E占8位,维数部分M占52位,同float一样,其可以表示的十进制有效值为原创 2016-07-23 21:43:57 · 1175 阅读 · 0 评论 -
const 全局变量
1、const 全局变量在只读存储区,调用const_cast修改const全局变量的常量性并修改其值对出现写入错误;而对于局部变量则没有事,修改常量性后可以实现修改。 但是,由于const变量是在编译时确定的,在运行时并没有从内存中读取const变量的值,而是直接从寄存器读取的,因此即使用const_cast去除了const变量的常量性,并修改了变量的值,输出仍为原始值void main(voi原创 2016-08-17 17:20:14 · 1974 阅读 · 0 评论 -
快排
void quicksort(int*arr,int l,int r){ if(l<r) { int i=l,j=r,x=arr[i]; while(i<j && arr[j]>=arr[i])j--; if(i<j)arr[i++]=arr[j]; while(i<j&&arr[j]<arr[i])i++; if(i<j)arr[j原创 2016-10-03 10:43:57 · 754 阅读 · 0 评论 -
__stdcall、__cdcel、__fastcall区别
1、常用场合 __stdcall:windows API默认的函数调用协议 __cdcel:C/C++、MFC默认的函数调用协议 __fastcall:适用于对性能要求较高的场合 2、函数参数压栈方式 __stdcall:函数参数从右至左压栈 __cdcel:函数参数从右至左压栈 __fastcall:函数参数从左开始不大于4字节的参数放入CPU和EDX寄存器,其余参数从右至左入栈转载 2016-08-14 15:49:40 · 1168 阅读 · 0 评论 -
C++中的new、operator new与placement new
C++中的new/delete与operator new/operator deletenew operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。new operator (1)调用operator new分配足够的空间,并调用相关对象的构造函数 (2)不可以被重载operator new (1)只转载 2016-08-06 15:57:36 · 298 阅读 · 0 评论 -
STL中容器大小的计算
1、vecotr class vector { public: size_type size() const { return size_type(end() – begin()); } iterator begin() { return _M_start;原创 2016-07-24 14:58:40 · 906 阅读 · 0 评论 -
高质量C/C++编译指南 学习笔记
1、添加 #ifndef _XXX_H_ #define _XXX_H_ ..... #endif 至头文件,防止头文件被重复引用而引起的重定义问题2、#include<XXX.h>将从标准库目录开始搜索 #include"XXX.h"是从用户工作目录开始搜索 3、浮点数与0值比较: 无论float还是double变量,都有精度限制,不原创 2016-07-23 14:03:13 · 414 阅读 · 0 评论 -
const char * 与 char * const
const char * 与 char * constconst char* const char *是指向常量的指针,不能修改其指向的内容,但可以修改指针指向的地址。 eg: char ch[5]=”Lisi”; const char*p=ch; *p=’w’; //error p=”Wangwu”; //correct 指向常量的的指针可以不初始化原创 2016-07-23 12:26:59 · 292 阅读 · 0 评论 -
面向对象三大基本特性
面向对象的三大基本特性转载 2017-02-11 16:36:14 · 398 阅读 · 0 评论