自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 【C++ Primer】特殊工具与技术

十七、用于大型程序的工具1. 优化内存分配C++类型分配是一个类型化操作:new为特定类型分配内存,并在新分配的内存中构造对象。new表达式会为每个动态分配的类自动调用构造函数。但有些时候需要将内存分配与对象构造分开,因为对预先分配,但以后却不使用的对象进行构造很是浪费的。C++提供两种方法,分配和释放未构造的的原始内存:

2014-05-09 17:41:39 1239

原创 【C++ Primer】用于大型程序的工具

1. 异常处理异常以类似于将实参传递给函数的方式抛出和捕获。异常可以是可传给非引用实参的任意实参的类型,这意味着必须能够复制该类型的对象。当抛出一个表达式的时候,被抛出对象的静态编译时类型将决定异常对象的类型。抛出指针通常是个坏主意。栈展开:沿着嵌套函数调用链继续向上,直到为异常找到一个catch子句。栈展开期间,释放局部对象所用的内存并运行类类

2014-05-09 01:26:13 1132

原创 快速排序总结

首先提一下插入排序,在后面的优化中可以用到:最简单的插入排序:isort1:for i = [1, n)    for(j = i; j> 0 && x[j - 1] > x[j] ; j--)            swap(j-1, j)优化策略:不进行转化,将要插入的数存储起来,从后往前进行查找赋值,直到遇到更小的数时,将存储起来的值赋值给更小的数的后面一位。

2014-04-26 00:58:23 1293

原创 C++中static关键字总结

static存在的意义:       函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此

2014-04-23 13:56:26 1068

原创 腾讯2014暑期实习笔试总结

一直没有空写总结,知道今天才

2014-04-17 01:16:12 9162 11

转载 c++中数组名与函数的区别

文章转自http://tech.163.com/05/0823/11/1RR94CAS00091589.html引言  指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地

2014-04-13 14:12:34 2219

转载 OSI七层模型与TCP/IP四层模型

本文内容大多摘抄自维基百科

2014-04-11 16:23:11 1441

转载 Visual Studio2010中Release版本下调试设置

设置在Release模式下调试的方法:1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式    选  程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)3.c++ -> 优化 -〉优化            选  禁止(/Od)4.连接器 -〉调试 -〉生成调试信息 选  是 (/DEBUG)另外,当Release版本中用到了Debug版本呢的类库

2014-03-11 10:03:55 1514

转载 C语言负数的移位运算

在c 中左移也就是所说的逻辑移位,右端补0,而右移是算数移位,左端补齐的是最高位的符号位。故负数左移,有可能变成正数,但负数右移,肯定还是负数。用16进制的形式对数据进行赋值,这16进制的数代表的是补码。    i = 0xfffffff7; //0xfffffff7是补码,而不是原码,故i = -9    printf("%d %x\n", i, i);     i =

2014-01-10 16:57:57 2036

原创 【C++ Primer】类

十二、类1. 类的定义和声明类中的成员函数都默认为inline类型,所以即使在类定义体内的函数声明显示定义为inline类型,在进行函数定义时也能够将inline进行省略。类声明: class Screen;  有时称为”向前声明“,一般用于编写相互依赖的类;在C中定义一个struct的结构为:     str

2013-12-19 22:35:59 1243

原创 【C++ Primer】泛型算法(待修改)

十一、泛型算法应包含头文件 , 一些算术算法应该包括大多数情况下,算法都需要使用(至少)两个迭代器来指出算法操作的元素范围,第二个迭代器指向最后一个元素的下一位置,比如说ivec.end();1. 只读算法accumulate(iter, iter, initail)    第三个形参是累加的初值;find_first_of(it

2013-11-26 14:22:46 1044

原创 【C++ Primer】关联容器

十、关联容器map、set、multimap、multiset1. pair类型定义在utility头文件中初始化:pair1, T2> p1pair p1(v1, v2)make_pair(v1, v2)操作:p1.first    p1.second

2013-11-26 14:21:56 918

原创 【C++ Primer】顺序容器

九、顺序容器1. 初始化C c :  适用于所有容器C c(c2)  :  使用于所有容器,类型必须匹配(容器类型和元素类型都必须相同)C c(b, e):  b,e是迭代器C c(n, t) : n个t,只适用于顺序容器C c(n)    :创建有n个值初始化元素的容器,只适用于顺序容器,若T是类,则必须提供默认构造函数,否则将出错

2013-11-26 14:20:52 1097

原创 【C++ Primer】标准IO库

八、标准IO库1. IO标准库标准库:头文件                 类型iostream            istream, ostream, iostring从前两者派生而来fstream              ifstream, ofstream, fstream从iostream派生而来sstream

2013-11-18 19:42:34 1274

原创 【C++ Primer】函数

七、函数1. 参数传递形参的初始化与变量的初始化一样:如果形参具有非引用类型,则赋值实参的值,如果形参为引用类型,则它只是实参的别名。指针形参:const int * 类型的可用int *及const int*调用,而int *则只能用int *调用;就如同变量初始化一样引用形参:非const 引用只能调用非const引用,传递右值也不可以:

2013-11-18 19:41:12 1160

原创 【C++ Primer】语句

六、语句1. 使用预处理器进行调试大多数编译器都提供定义NDEBUG选项:CC -DNDEBUG main.C预处理器还定义了其余四种有用的常量:__FILE__  文件名__LINE__  当前行号__TIME__   编译时间__DATE__  编译日期定义了NDEBUG之后(需在文件开头定义),assert语句不再起作用。ass

2013-11-14 20:14:41 1262

原创 【C++ Primer】表达式

五、表达式1. 求模两个操作符都为负数,求模的结果为负数,或0: -21 % -8 =-5;如果只有一个操作数为负数,则结果取决于机器;符号也取决于机器: 21 % -5 = 1 or -42. 操作符移位操作符具有中等优先级:优先级比算数操作符低,但比关系操作符、赋值操作符和条件操作符优先级高。只有在必要时才使用后置操作符:i++; 前

2013-11-14 20:14:12 1037

原创 【C++ Primer】数组和指针

四、数组和指针1. 数组 : 数组的长度是固定的!在数组维数必须是大于等于1的常量表达式,只能包括整型字面值常量、枚举常量、用常量表达式初始化的整型const对象。初始化:同内置变量,函数外初始化为0,函数内无初始化。字符数组:char ca[] = "c++"; 最后会自动添加'\0',维数为4;const char ca[3]= "c

2013-11-14 20:13:35 1144

原创 【C++ Primer】标准库类型

三、标准库类型1. 头文件书写在头文件中应该只定义确实需要的东西,因此,应该使用完全限定的标准库名字,如std::cout2. stringstring的读入是遇到空白字符就会终止,所以用 cin>>a; 输入"hello world"得到的a=hello;可以使用getline(cin, line)来读取整个字符串,返回值也

2013-11-09 23:39:17 1151

原创 【C++ Primer】变量和基本类型

二、变量和基本类型1. c++数据类型与机器子长的关系表示整数、字符和布尔值的算术类型合称为整型。字符型包括:char与wchar_t,后者用于表示拓展字符集,一般用两个字节表示; 机器字长:是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。

2013-11-07 17:45:34 988

原创 【C++ Primer】快速入门

一、快速入门1. gcc、g++、CC区别gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。2. cerr、clog、cout区别cerr(无缓冲标准错误)---

2013-11-06 22:18:26 1063

原创 Visual Studio12中添加已有文件夹方法

方法一:将已有文件夹拖进项目。方法二:首先将文件夹及其下所有文件复制到Solution所在的目录下,接着在Solution Explorer中选择Show All Files,这时可以看到需要添加的文件夹,选中所需的文件夹,可以复选,然后右键选择Include In Project,既存文件夹便已经被添加到当前Solution中了。

2013-07-29 16:16:29 2413

原创 win8下安卓SDK Manager一闪而过解决方案

从官网下载的adt-bundle-windows-x86_64,也安装了jdk,配好了环境,但是在运行SDK Manager的时候只是一闪而过就没有然后了。从网上搜索了下,貌似win8都有这个问题,主要问题出在运行时没有找到java.exe或者找到的位置不对,有两种解决思路。第一种:删掉 C:\Windows\system32\ 下的 java.exe、javaw.exe、javaws.e

2013-07-20 12:38:14 1318

原创 UltraISO+U盘+win8重装系统

所需: UltraISO,格式化的U盘,相应win8的光盘镜像文件:1,将win8安装文件写入U盘:用UltraISO打开win8镜像文件,选择“启动”-》“写入硬盘镜像”;在这个过程中有可能会提示需要将U盘格式化,点确定即可;对于写入方法,最好是使用“USB-ZIP+”方式。2,设置BOOST启动方式:启动电脑时进入到Boost设置页面,选择usb最先启动,这个不同的电脑

2013-07-18 20:36:56 1471

原创 Linux环境下CGAL配置

1, 首先安装Boost,下载最新的boost ,解压到某个目录首先要编译生成boost安装工具bjam进入boost目录执行:./bootstrap.sh然后执行刚生成的./bjam编译开始,大约半小时,全部编译结束。./bjam install 将当前目录下编译好的头文件拷贝到相应位置:在/usr/local/include下有头文件夹boost,在/usr

2013-07-08 22:15:09 2767

原创 Linux环境下Qt环境搭建

参考:http://wuyuans.com/2012/11/qt4-8-3-transplant/一。安装G++环境 sudo apt-get install build-essential 另外的一些相关环境。如果不安装,一些qt的组件是无法正常编译的,例如openGL sudo apt-get install libx11-dev libxau-dev libx

2013-07-08 22:06:21 1395

原创 Windows平台下CGAL配置

本文使用boost_1_54_0、CGAL-4.2,cmake-2.8.11.2-win32-x86进行配置说明。详细步骤可以参考CGAL官网对于CGAL的配置说明。地址为:http://www.cgal.org/windows_installation.html我在具体配置的时候并没有完全按照指示来,最终导致了挺多错误,但是幸好最终都解决了。参考文献有:http://blog.csd

2013-07-08 21:47:33 2215

原创 Windows平台下Qt环境配置

Qt在Windows下面可以使用两种方式进行开发,一种是使用Qt Creator,一种是使用Visual Studio进行配置,本文使用Qt4.8.5(qt-win-opensource-4.8.5-vs2010)、VS2010、Qt Creator2.7.0(qt-creator-windows-opensource-2.7.0)、VS Add-In(qt-vs-addin-1.1.11-o

2013-07-08 20:53:24 1732

原创 Visual Studio2012 配置问题

本人因项目组需要,将原有VS2010卸载后重装为VS2012,但是却发现诸多问题:1、重装是报某某文件包不能使用的错误,解决方法:从微软官方下载相应msi文件进行安装;2、编写Hello,world程序时出现某某头文件找不到的情况,原因是某些包并没有包含进来。解决方法:可以将每一个项目都添加相应确实的include以及bin文件,但是这个方法太繁琐,另一种方法就是直接更改VS2012的

2013-01-11 12:49:50 1015

原创 多个相互复制的ubuntu虚拟机的设置问题

在用vmvare做实验时,我们一般先会安装一个ubuntu版本,但是安装一个也不是特别容易,尤其是在网路比较慢的时候,于是,当我们想在一台机器上用多个ubuntu做实验时,一般会采用的方法是copy刚才安装的那一份ubuntu,然后重新打开,但是这时会出现一个问题,就是mac地址会重复,因为两个系统是一样的,于是我们需要将复制后的ubuntu的mac地址进行一下修改,下面贴出来修改方法:首

2011-12-09 19:33:15 2225

图书管理系统(c#.net)

闲着无聊编的一个图书管理系统,实现了基本的对图书、用户的增删改查功能,以及借书、还书、续借功能

2011-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除