C/C++
文章平均质量分 76
lishichengyan
zju过气涂鸦爱好者
展开
-
C++学习笔记2
这篇文章主要是对C++Primer(5th edition)开头部分(第一章、第二章)一些有意思的内容的探讨。1.c++的注释/**/遵守“最近配对”的规则,C++ Primer(5th edition)上有一个蛮有意思的例子:#includeusing namespace std;int main(){ cout<<"/*"<<endl; cout<<"*/"<<endl;原创 2017-03-07 19:32:40 · 298 阅读 · 0 评论 -
C++动态内存
1、C++中的三种内存C++中有三种内存,第一种“静态内存”用来保存局部static对象,类static数据成员以及任何定义在函数体之外的变量,例如:int count_calls(){ static int cnt=0;// 局部static变量 return ++cnt;} class A{ static int a;// 类static成员 }; int A::a=1;...原创 2018-02-28 23:05:20 · 177 阅读 · 0 评论 -
C++的容器总结
参考了http://www.cplusplus.com,对网站上的内容有所精简,例程是自己给出的。这些容器有许多相似的地方,比如迭代器begin()都是指向第一个元素,end()指向最后一个元素的下一个位置,涉及到区间时都是半开半闭(左闭右开或者左开右闭)。又比如初始化时一般都有以下方式(这里以list为例): /******各种初始化******/ list<int> ex1;/...原创 2018-02-23 16:35:02 · 536 阅读 · 0 评论 -
C++学习笔记4
包括C++ primer 5th edition第2章的一些问题1.不同的初始化方式 int num=0; int num(0); int num{0};//列表初始化 int num={0};//列表初始化注意如果存在丢失数据的风险,列表初始化将不会成功如: double num1=3.1415926; ...原创 2017-03-21 19:20:55 · 237 阅读 · 0 评论 -
谈谈C++中的几个关键字(主要是const)
参考《C++ Primer》1、const(1)被const修饰的量不可修改,必须初始化。例如: const int a;// 错误,没有初始化 const double b=10.2; b=10.3;// 错误,试图修改被const修饰的b const double c=b; //正确,用b初始化c(2)被const修饰的变量只能在一个文件中起作用,例如在文件filename.h中有con...原创 2018-02-25 19:08:49 · 304 阅读 · 0 评论 -
浅析C++中的异常
先上简单用法(《C++ Primer》课后题答案):#include<iostream>#include<stdexcept>using namespace std;int main(){ int a,b,c; while(cin>>a>>b) { try// try里写可能引发异常的代码 { if(b==0) ...原创 2018-02-26 00:17:17 · 159 阅读 · 0 评论 -
一个关于指针的微小的复习
在破乎上看到一个小练习,还挺好玩的,如下:解答:int* p;int* f();int (*ff)();int* (*fff)();int* a[];int (*a)[];f7是一个函数指针数组,数组中的每个成员都是指针,指向返回值为int的函数。f8类似f7,只不过函数的返回值是int型指针。温故而知新。...原创 2018-04-15 21:16:08 · 152 阅读 · 0 评论 -
谈谈C++中vector的删除
在vector中有三种涉及删除的方法,第一种是vector::clear(),第二种是vector::erase(),第三种是vector::pop_back()。clear用来清空整个vector,同时将size变成0,无返回值;erase通过传入迭代器进行删除,既可以删除单个元素,也可以删除某一范围的元素,删除之后它将返回下一个位置的迭代器;pop_back用来删除末尾元素,同时将size减1...原创 2018-09-12 22:23:48 · 59920 阅读 · 5 评论 -
谈谈C++中的lambda
1、什么是lambda演算关于这个问题,可以看:点击打开链接(songwang的回答,一篇篇看下来对初学者很有帮助!)。如果想节省时间可以看:这个。2、C++的lambda简介C++中的lambda可以看成一个有自己的格式和使用规则的函数。lambda表达式的格式是:[/*capture list*/](data_type para1,data_type para2...)->return_...原创 2018-02-27 22:55:14 · 243 阅读 · 0 评论 -
C++学习笔记5(string类)
终于到C++ Primer(5th eddition)的第三章了,第二章的一些东西(比如decltype)回头再说。主要讲string类。string是可变长的字符串。初始化有拷贝初始化(copy initialization)和直接初始化(direct initialization)两种。相关:1)getline(is,s),从is中去一行给s,返回is。getline会保留空白原创 2017-03-21 19:41:16 · 234 阅读 · 0 评论 -
C++学习笔记1
Bjarne Stroustrup生于1950年12月30日。他先后在丹麦奥胡斯大学(Aarhus University)和剑桥大学(University of Cambridge)学习,后来到著名的贝尔实验室工作。他在剑桥的导师是David Wheeler,后者是计算机科学与技术领域的第一个PhD。1978年,Bjarne开始开发一种叫“C with Classes”的语言,也就是C++原创 2017-03-06 19:18:38 · 243 阅读 · 0 评论 -
C++学习笔记3
看了Thinking in C++(volume 1 2nd edition)的第六章:初始化和清除。原创 2017-03-15 22:42:09 · 261 阅读 · 0 评论 -
算法题中常见的C++ STL
会不定期更新一、不定长数组:这个已经用得比较熟了,暂时不写二、栈同上三、队列同上四、优先队列同样在头文件中,是一个很有用的模板类,与queue的区别在于他不是按照入队顺序出队。priority_queue通常后两个参数可以省略。五、集合原创 2017-08-27 23:00:11 · 437 阅读 · 0 评论 -
C语言实现一个精简的shell
仅供参考短学期作业之一,放上来做个纪念:/****************************************************************************Project Name: myshell*Description: a reduced shell program implemented by C*Auther:lishichengy原创 2017-10-10 15:25:28 · 8317 阅读 · 4 评论 -
C++<algorithm>和<numeric>学习(未完)
本文仅供个人学习,并没有什么阅读价值,请不小心点进来的朋友见谅...先贴一些代码:#include<iostream>#include<vector> #include<list>#include<string>#include<algorithm>#include<numeric>#include<iter...原创 2018-02-27 14:05:11 · 256 阅读 · 0 评论 -
【指针大佬的原创】说出来你们可能不信,但是数组名确实不是指针常量
这篇是一篇C语言劝退流教学文,看不懂的同学应该是劝退教学流的目标对象(写完了才想起来注一下,本文提到的“数组”和“数组名”字样,指的是数组左值表达式(array lvalue expression)或数组声明(array declaration)所声明的变量)首先,数组名不是常量指针,从两方面:类型方面,数组的类型是type[size],和常量指针类型type* const不同 使用...转载 2018-09-22 13:19:49 · 261 阅读 · 0 评论