自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桑海的专栏

Growth course

  • 博客(61)
  • 资源 (14)
  • 收藏
  • 关注

原创 C++lambda详解~读书笔记

lambda表达式语法: [capture_block](parameters) mutable exception_specification->return_type{ body }lambda表达式包含以下部分:捕捉块(catpure block): 指定如何捕捉所在作用域中的变量,并供给lambda主体使用。参数(parameter): (可选)lambda表达式使

2014-10-06 23:54:13 18927 4

转载 C++11~综述

C++11[编辑]C++11,先前被称作C++0x,即ISO/IEC 14882:2011,是C++编程语言的一个标准。它取代第二版标准ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者差异很小),且已被C++14取代。相比于C++03,C++11标准包含核

2014-10-06 12:06:30 1571 1

转载 C++新特性~摘录lambda

Lambda函数与表示式[编辑]在标准 C++,特别是当使用 C++ 标准程序库算法函数诸如 sort 和 find,使用者经常希望能够在算法函数调用的附近定义一个临时的述部函数(又称谓词函数,predicate function)。由于语言本身允许在函数内部定义类,可以考虑使用函数对象,然而这通常既麻烦又冗赘,也阻碍了代码的流程。此外,标准 C++ 不允许定义于函数内部的类被用于模板,所

2014-10-06 12:04:15 1586

转载 C++ 11 Lambda表达式

C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下:              [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体}      可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、->返回值类型

2014-10-06 11:55:53 795

原创 C/C++经典问答

今天百度知道里面看到了一个问题,很有意思,整理了下思路,回答如下。。。一:问题:假设i=0;则1、j=(i++,i++,i++)2、k=(i++)+(i++)+(i++)的结果是什么?是怎么得出的我的回答:j=2k=9语法知识,逗号','是语句的分割,第一句:=的右值是一个复合语句,由三个分语句组成,第二句,=的右值只有一个执行语句执行结果分

2014-02-17 22:37:13 1368 1

转载 delete一个void*可能会造成泄漏内存

一个论坛上看到k2eats对着个问题的回答,受益匪浅;delete void*在删除内建类型是没有问题的.系统在malloc()的时候已经在分配的内存块记录了分配内存的大小,所以不存在不知道不知道释放多少内存的说法本身不会泄露内存,因为:在堆中分配内存的时候,空闲内存是按照链表连接起来的,释放内存则将内存块链到空闲链上面去,关键是分配的时候不只是分配你所需求的内存大

2014-01-02 22:09:34 5650

转载 C语言:内存字节对齐详解[转载]

原文链接:C语言:内存字节对齐详解[转载]一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空

2014-01-02 22:02:42 818

转载 None~C++ 队列之循环队列

转自:NONE:C++ 队列之循环队列循环队列     为充分利用向量空间,克服"假上溢"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。(1) 循环队列的基本操作     循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指

2013-05-19 17:11:52 1116

转载 string的常用初始化方式

a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数 生成str的复制品 c) string s(str,stridx) //将字符串str内"始于位置stridx"的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内"始于stridx且长度顶多strlen"的部分作为字符串的初值

2013-05-12 15:52:42 1216

转载 搓错排相关知识

转自:错排公式分类: 数论 关于程序2012-06-08 19:07 335人阅读 评论(0) 收藏 举报n2错排问题错排问题 就是一种递推式,不过它比较著名且常用,所以要熟记!方法一: n各有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。任给一个n,求出1,2,……,n的错排个数Dn共有多少个。递归关系式为:D

2013-03-26 20:10:00 843

原创 用union节省内存

#includeusing namespace std;union packed{    char i;    short j;    int k;    long l;    float f;    double d;};int main(){    cout     packed x;    x.i = 'c';    cout

2013-03-17 22:14:05 881

转载 C++的64位整数

转自:C++的64位整数[原]by 赤兔  在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。  那遇到比40亿要大的数怎么

2013-03-15 21:14:45 1263

原创 明天看stringstream主要是相当与sprintf/sscanf函数的作用

明天看stringstream主要是相当与sprintf/sscanf函数的作用C_Style#include#include#includeusing namespace std;int get_next(int x){ char s[10]; sprintf(s, "%d", x); int n = strlen(s); for(int i

2013-02-03 23:08:20 1525

原创 方便的预处理器特征(宏)

//把变量和表达式转换成字符串/*写调试代码的时候,编写由包含变量名和后跟变量的字符数组组成的打印表达式是很乏味的。幸运的是,标准C具有字符串化运算符'#'。在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。把这一点与没有插入标点符号的若干个字符数组结合而链接车给你一个单独的字符数组,能够生成一个十分方便的宏与调试期间打印出变量的值:#define PR(x)

2013-02-03 16:11:22 631

原创 预处理宏与移位运算符

//:预处理宏.cpp//Mathematical operators#includeusing namespace std;//A macro to display a string and a value#define PRINT(STR, VAR) \ cout << STR " = " << VAR << endl; //cout语句中,两个紧紧相邻的引号默认合并int

2013-02-02 20:04:38 739

原创 编译过程与调用栈

首先是对代码执行预处理。预处理器(preprocessor)是一个简单的程序,它用程序员(利用预处理器指令)定义好的模式代替源代码中的模式。预处理器指令用来节省输入,增加爱代码的可读性。预处理过的代码通常存放在一个中间文件中。编译一般分两遍进行。首先,对于处理过的代码进行语法分析。编译器吧源代码分解成小的单元并把他们按树形结构组织起来。表达式“A+B”和“B”就是语法分析树的叶子节点。

2013-02-01 15:40:32 1876

转载 重载操作符解析

转自: benben重载操作符是个好青年,但是要吐槽的是,我们时常为了重载操作符编写许多重复的代码。这是枯燥的,但是也是必须的。你重载的越多,你的类的弹性就越大。但是,你也不能为所欲为。玩游戏总是遵守相应的规则,写重载操作符亦是如此!    以下是要遵守的游戏规则:一元操作符可以是不带参数的成员函数或带一个参数的非成员函数。二元操作符可以是带一个参数的成员函

2012-12-14 19:57:39 688

原创 后自增操作符慎用

希望得到解惑:#include#include#includeusing namespace std;vector::iterator find(vector::iterator beg, vector::iterator end, string word){ while(beg != end) //慎用后自增符号,此处如果用了程序莫名崩溃。 {

2012-11-20 12:01:47 759

原创 C++的sstream相关知识

抠佽了一天就弄了这个:还不错总算是弄出来了:希望有建议和补充我的博客园链接:桑海的博客园博客#include#include //stringstream#include //sscanf,sprintf()using namespace std;int main(){ //*********************************

2012-11-17 23:33:15 1414 1

原创 C++Primer8.8——vector中一次读取文件内容

#include#include#include#includeusing namespace std;int main(){ vector files; string fileName, s; cout << "Enter filenames:(Ctr+Z to end)" << endl; while(cin >> fileName)

2012-11-17 17:52:45 1136

原创 容器中打开文件——C++Primer 8.7

#include#include#include#includeusing namespace std;int main(){ vector files; string fileName, line; while(cin >> fileName) files.push_back(fileName); vector::iterator i

2012-11-17 11:17:33 887

原创 通过引用 调用数组形参

如果形参是数组的引用个,编译器不会讲数组实参转化为指针,为是传递的引用本身。在这种情况下 ,数组大小成为形参和实参类型的一部分。编译器检查数组实参的大小与形参的大小是否匹配:void printValues(int (&asrr)[10]){ /*...........*/} //圆括号必须要,[]操作符的优先级高于&.int main(){ int i =0, j[2]= {

2012-11-17 09:28:32 2345

原创 C++Primer 8.6

问题描述:编写一个函数,其唯一的形参和返回值都是 iftream& 类型。该个函数应一直读取流直到到达文件结束符为止,还应将读到的内容输出到标准输出中。最后,重设流使其有效,并返回该流。My Code:#include#include#includeusing namespace std;ifstream get(ifstream &file){ string s

2012-11-13 20:45:52 881

原创 C++Primer文件读写

#include#include#include#include#includeusing namespace std;int main(){ //---------------------按行写文件----------------------------- //打开文件用于写,若文件不存在,则创建它,若已存在,则清空原内容 //注意路径名中的斜杠要双写 // ofstre

2012-11-13 20:06:37 927

原创 8.3

题目:编写一个函数,其唯一的形参和返回值都是 istream& 类型。该个函数应一直读取流直到到达文件结束符为止,还应将读到的内容输出到标准输出中。最后,重设流使其有效,并返回该流。MyCode:#include#include#includeusing namespace std;istream& f(istream& in){ int ival; while(i

2012-11-12 17:54:10 726 1

原创 C++_Primer中关于cin.clear()的例题

#include#includeusing namespace std;int main(){ int ival; while(cin >> ival, !cin.eof()) //必须输入两个文件结束符才可以结束输入??? { if(cin.bad()) //input stream is corrupted; bail out throw

2012-11-12 16:56:46 1604

原创 C++primer习题编写Sales_item类

My Code://Sales_item.h#include#includeusing namespace std;class Sales_item{public: Sales_item(); //构造函数 //或者 //Sales_item():units_sold("0-201-70535-x"), units_sold(0.0){}; ~Sales_item()

2012-11-08 17:27:33 6356 1

原创 C++输出精度控制

如下代码:#include#includeusing namespace std;void main(){ double f = 3.1415926535; cout << "Enter the huashi temperature:" << endl; //-----------------方法一------------------- /* cout.precision(3

2012-11-07 18:12:55 20641

原创 继承问题

先看如下一段程序并判断调用函数输出什么?:#includeusing namespace std;class Animal{public: void eat() { cout << "animal eat" << endl; } void sleep() { cout << "animal sleep" << endl; } virtual void b

2012-11-06 19:24:39 728

原创 C++ const

一、非引用形参1、普通的非引用类型的参数通过复制对应的是实参实现初始化。当用实参副本初始化形参时,函数并没有访问调用所传递的实参本身,因此不会修改实参的值。在函数调用时,如果该函数使用的是非引用非const形参,则既可以给函数传递const实参,也可以传递非const的实参。这种情况下,无论是const,还是非const的传递,在该调用函数内都可以对形参进行赋值等操作,即可以改变该形参的值

2012-11-05 17:36:58 555

原创 C++primer习题6.20

题目:编写程序从标准输入读入一系列 string 对象,直到同一个单词连续出现两次,或者所有的单词都已读完,才结束读取。请使用while 循环,每次循环读入一个单词。如果连续出现相同的单词,便以 break 语句结束循环,此时,请输出这个重复出现的单词;否则输出没有任何单词连续重复出现的信息。代码:#include#includeusing namespace std;in

2012-11-04 20:38:25 1209 4

原创 C++Primer6.18

题目:编写一个小程序,由用户输入两个 string 对象,然后报告哪个 string 对象按字母排列次序而言比较小(也就是说,哪个的字典序靠前)。继续要求用户输入,直到用户请求退出为止。请使用string 类型、string 类型的小于操作符以及 do while 循环实现。Mycoding:#include#includeusing namespace std;int mai

2012-11-04 14:57:49 1067 1

原创 C++Primer习题6.12

题目:编写一个小程序,从标准输入读入一系列 string 对象,寻找连续重复出现的单词。程序应该找出满足以下条件的单词的输入位置:该单词的后面紧跟着再次出现自己本身。跟踪重复次数最多的单词及其重复次数。输出重复次数的最大值,若没有单词重复则输出说明信息。例如,如果输入是: how, now now now brown cow cowMy code:#include#incl

2012-11-03 21:21:26 1397

原创 switch结构注意点

下面每段代码都暴露了一个常见编程错误。请指出并修改之。(a) switch (ival) { case 'a': aCnt++; case 'e': eCnt++; default: iouCnt++; }(a)的错误在于:各个case标号对应的语句块缺少必要的break语句,从而当ival值

2012-11-03 17:47:57 1299

原创 C++ Primer习题5.18

题目:编写程序定义一个 vector 对象,其每个元素都是指向 string 类型的指针,读取该vector 对象,输出每个 string 的内容及其相应的长度。#include#include#includeusing namespace std;int main(){ /*普通 vector svec; string str; cout <<

2012-11-03 14:50:50 653

原创 C++操作符的优先级

说明:表中以双横线分割成不同的段,每段内各个操作符的优先级相同,且都高于后面各段中的操作符。操作符的优先级操作符及其结合性功能用法L LL::::::全局作用域类作用域名字空间作用域:: namecalss :: namenamespace :

2012-10-30 20:18:19 1250

原创 递归~红与黑

输出个数:#include#includeusing namespace std;const size_t row = 21, column = 21;char str[row][column];int w, h;int f(int x, int y){ if(x = h || y >= w) //超区矩阵范围 return 0;

2012-10-29 18:48:44 1079

转载 抽屉原理(又名:鸽笼原理)

百度真是太强大了,百度百科真的好爱你……抽屉原理百科名片  抽屉原理桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果。这一现象就是我们所说的“抽屉原理”。 抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1或多于n+1个元素放到n个集合中去,其中必

2012-10-29 12:05:27 15524

原创 C/C++中各种类型int、long、double、char表示范围(最大最小值)

#include#include#include using namespace std;int main(){ cout << "type: \t\t" << "************size**************"<< endl; cout << "bool: \t\t" << "所占字节数:" << sizeof(bool); cout ::max

2012-10-28 22:16:05 418357 28

原创 1005Number Sequence

//第一次错误尝试/*#includeusing namespace std;unsigned f(unsigned a, unsigned b, unsigned n){ if(n == 1 || n == 2) return 1; return (a * f(a, b, n-1) + b * f(a, b, n-2)) % 7;}int ma

2012-10-28 21:06:12 1074

谭浩强C程序设计.chm

本电子版所编辑的内容来自于清华大学出版社出版的《C程序设计》第二版,是由著名教授谭浩强主编,该书浅显易懂,深受参加全国计算机等级考试三级、四级的C语言考生欢迎,不少地方考生反应此书难买,网上出现过word版,供下载,但翻看不便,为此,特制定电子版。

2012-11-10

C++操作符的优先级

此表为本人从C++Primer上的摘录下,在word上辛苦制作而成,如果觉得本文对您有帮助,记得支持我啊,还有有什么新发现也分享出来,大家共同学习共同进步…… ——桑海整理

2012-10-30

经典算法 各种代码

经典的算法,内附有解题代码,算得上是学习利器,多参考参考别人的代码也能触类旁通

2012-10-27

csdn技术大全

此 CHM 文档的内容均为 CSDN 众网友共同收集而来,由网友们于 2004 年 3 月 7 日在 www.csdn.net 网站 VC/MFC 版的非技术类论坛上正式提出整理工作的倡议,经王国凡同志(sgnaw 李逍遥)整理而成,以供大家工作学习参考之用。 我自认为是一个比较热心的人,经常帮助同学同事们解决 IT 方面的问题,有时也逛逛 CSDN。我在武汉出身,也在武汉工作三年了,希望将来能为 IT 业的发展作出贡献。整理工作虽然辛苦,但也快乐,错漏之处再所难免,如有建议或意见请联系 sgnaw@163.com

2012-10-27

计算机专业职业规划

计算机专业职业规划有必要看看,这是我在夜歌计算机群里看到的,感觉有必要分享下

2012-10-21

Sales_item.h

C++第四版中习题中的Sales_item.h头文件,书上网站下不了

2012-10-21

数据库系统概论答案第四版

数据库系统概论答案第四版 强大的易上手的SQL语言,习题解答

2012-10-21

ACM程序设计导引及在线实践

《ACM程序设计导引及在线实践》是一本C、C++很好的入门书,配合北京大学OJ更有效率

2012-09-24

大学物理实验教程预习思考题、分析题参考答案

大学物理实验教程预习思考题、分析题参考答案.txt

2011-12-11

记事本实现由光标处显示行和列以及统计字数等功能

一款使用的记事本软件实现由光标处显示行和列以及统计字数等功能

2011-12-06

VS编写的记事本源码

记事本源代码,实现有统计字数和光标处显示行和列等功能

2011-12-06

可视化程序设计

可视化程序设计课件,讲述和有关下拉菜单和弹出菜单的课程

2011-10-19

空空如也

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

TA关注的人

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