随笔分类 -  C/C++ 基础知识

摘要:C++ Code123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475... 阅读全文
posted @ 2015-09-23 11:25 指上弹兵赵小括 阅读(171) 评论(0) 推荐(0)
摘要:1、.obj文件的内部结构2、映射到进程虚拟空间3、链接的原理C++ Code1234567891、未解决符号表:提供了所有在该编译单元里引用但是定义并不在本编译单元里的符号及其出现的地址。2、导出符号表提供了本编译单元具有定义,并且愿意提供给其他编译单元使用的符号及其地址。3、地址重定向表提供了本... 阅读全文
posted @ 2015-09-02 19:47 指上弹兵赵小括 阅读(317) 评论(0) 推荐(0)
摘要:/** * @Method: Memcpy * @Access: public * @Return: void * * @Param : dst - 目的起始地址 * @Param : src - 源起始地址 * @Param : len - 所要拷贝空间大小Byte * @Brief : 内存拷... 阅读全文
posted @ 2015-08-20 20:10 指上弹兵赵小括 阅读(1618) 评论(0) 推荐(0)
摘要:1 作为常量时的异同(0) 相同两者都可以用来定义常量; #definePI3.14159// 常量宏 constdoulbePi=3.14159;// 常量(1) 编译器处理方式不同 define宏是在预处理阶段展开; const常量是编译运行阶段使用;(2) 类型和安全检查不同 defin... 阅读全文
posted @ 2015-08-20 20:00 指上弹兵赵小括 阅读(3419) 评论(1) 推荐(0)
摘要:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include using namespace std;/*** 1 默认边界对齐* 1) 结构体变量的首地址能够被其最宽基本类... 阅读全文
posted @ 2015-08-19 12:20 指上弹兵赵小括 阅读(396) 评论(0) 推荐(0)
摘要:先通过一个小程序来看一看:1234567891011121314#include void foo(int x, int y, int z){printf("x = %d at [%X]\n", x, &x);printf("y = %d at [%X]\n", y, &y);printf("z =... 阅读全文
posted @ 2015-08-15 18:53 指上弹兵赵小括 阅读(308) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/wishfly/article/details/5022008 简单的函数调用,通过简单的函数调用反汇编可以清楚了解如下1.栈到底是什么,如何操纵栈的?2.参数和临时变量是以什么形式在哪存放?3.如何传递返回值?测试代码如下(这是一个简单的通过调用函数计算两... 阅读全文
posted @ 2015-08-15 12:52 指上弹兵赵小括 阅读(244) 评论(0) 推荐(0)
摘要:在详细介绍C++中的四种转型操作符之前,我们先来说说旧式转型的缺点:①它几乎允许将任何类型转换为任何其他类型,这是十分拙劣的。如果每次转型都能够更精确地指明意图,则更好。②旧式转型难以辨识。旧式转型的语法结构是由一对小括号加上一个对象名称组成,而小括号和对象名称在C++的任何地方都有可能被使用。为解... 阅读全文
posted @ 2015-08-05 15:40 指上弹兵赵小括 阅读(294) 评论(0) 推荐(0)
摘要:const和#define区别(2012-12-11 14:14:07)转载▼标签:杂谈 (1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。(2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具... 阅读全文
posted @ 2015-07-31 09:30 指上弹兵赵小括 阅读(263) 评论(0) 推荐(0)
摘要:在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型class A{ B b;}class B{ A* a;}请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子:class A{ ... 阅读全文
posted @ 2015-07-16 19:23 指上弹兵赵小括 阅读(2294) 评论(0) 推荐(0)
摘要:int i;int*a =&i;//这里a是一个指针,它指向变量iint&b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本质是什么?下面会具体讲述int*&c = a;//这里c是一个引用,它是指针a的引用int&*d;//这里d是一个指针,它指向引用,但引用不是实体,所以... 阅读全文
posted @ 2015-07-16 19:19 指上弹兵赵小括 阅读(252) 评论(0) 推荐(0)
摘要:#includeusingnamespace std;classClassTest{public:ClassTest(){ cout <<"ClassTest()"<<endl;}ClassTest(int i){ cout <<"ClassTest(int)"<<endl; value2 = i;... 阅读全文
posted @ 2015-07-16 19:18 指上弹兵赵小括 阅读(163) 评论(0) 推荐(0)
摘要:如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制。将这种构造函数称为转换构造函数。#ifndef MAIN_H_INCLUDED#define MAIN_H_INCLUDED#includeusingnamespace std;classClassTest{public:Cl... 阅读全文
posted @ 2015-07-16 19:17 指上弹兵赵小括 阅读(252) 评论(0) 推荐(0)
摘要:当在类外部定义静态成员时,不能重复使用static关键字静态成员函数不包含this指针(无论是显示还是隐式使用)静态成员可以通过类对象进行访问,也可以通过类进行访问静态成员不是由构造函数初始化的,一般来说不能在类的内部初始化静态成员静态数据成员定义在任何函数之外,且只能被定义一次在定义静态数据成员时... 阅读全文
posted @ 2015-07-16 19:15 指上弹兵赵小括 阅读(343) 评论(0) 推荐(0)
摘要:基本特性const对象一旦创建后其值就不能被修改,故而const对象必须进行初始化可以用一个非const对象初始化一个const对象,也可以用一个const对象赋值给一个非const对象默认状态下,const对象仅在文件内有效当多个文件内出现了同名的const变量时,等同于在不同文件中定义了独立的变... 阅读全文
posted @ 2015-07-16 19:14 指上弹兵赵小括 阅读(286) 评论(0) 推荐(0)
摘要:#includeusingnamespace std;class BASE{public: BASE()=default; BASE(int publicValue,int protectedVale,int privateValue){this->publicValue = publicValue... 阅读全文
posted @ 2015-07-16 19:13 指上弹兵赵小括 阅读(2321) 评论(0) 推荐(0)
摘要:#includeusingnamespace std;class MYCLASS{public: MYCLASS()=default;/*explicit*/ MYCLASS(string str): strValue(str){ cout intValue = myClass.intValue;t... 阅读全文
posted @ 2015-07-16 19:12 指上弹兵赵小括 阅读(409) 评论(0) 推荐(0)
摘要:C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全... 阅读全文
posted @ 2015-07-16 19:11 指上弹兵赵小括 阅读(246) 评论(0) 推荐(0)
摘要:#include#includeusingnamespace std;/**::iterator uniqueElements(vector::iterator begPos,vector::iterator endPos){auto currPos = begPos +1;while(currPo... 阅读全文
posted @ 2015-07-16 19:10 指上弹兵赵小括 阅读(344) 评论(0) 推荐(0)
摘要:#include#include#include#includeusingnamespace std;templatevoidPrintElements(T c){typename T::const_iterator itr = c.begin();//在GCC下typename不能省略while(... 阅读全文
posted @ 2015-07-16 19:08 指上弹兵赵小括 阅读(579) 评论(0) 推荐(0)