Good Morning vocation
Good morning, beautiful vocation Good bye, beautiful vocation Good Morning,beautiful回想放假前各种寒假计划,铺天盖地,雄心壮志,气势昂昂,回个家猛如放虎归山,似乎对未来充满了无限的期望 既要学这,又要学那,既要折腾这,又要探索那,看来起来很充实的样子。 然而,哈哈…… 回到家里面的第一个星期到是热情不减,热血沸腾,随手拿起一本《c++ primer plus》就是看,几乎是把吃饭的时间都用上了,每天起来的第一件事就是打开书,边看书边吃早餐,吃完午餐第一件事又是看书,洗完澡又是看书,好像身体早已变成了AC永动机。因此得到的成果也是不少,看了一百二百页的样子 同时第一个星期干的事情还真不少,完成项目计划的部署,虽然此计划早在12月时就可以行动了,但是最终还是以失败告终。还有就是马马虎虎得翻译了一些官方wiki,说是一些,其实很少量,到不知道有没有400字。 第一个星期的疯狂,可能是由于期末那段时间没有学过课外的知识,都在放松自己,准备考试,还有一个折腾。折腾啥呢,折腾装linux,期末前几乎拿时间去都...
日常水题
p1008三连击、UVa340猜数字游戏的提示、Uva1583生成元,POJ-2271(模拟),fzcoj1787(模拟) p1008三连击将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。 一个个遍历过去,判断三个数字的每个位的数字是否重复,这里用的办法是先提取出每个位的数字,然后排序,将其与数组下标对齐,如果不数组的值与下标的值不相等,则出现重复。 这里可以用于构造几个数字,然后判断出现的数字是否重复。 1234567891011121314151617181920212223242526#include<iostream>#include<algorithm>using namespace std;int i, j, a[15];bool ans;int main(){ for (i = 123; i <= 329; i++) { a[1] = i % 10; a[2] = i % 100 / 10; ...
c++string
string小结 开始 string类由头文件string支持 (头文件string.h和cstring支持对c-风格字符串进行操纵的c库字符串函数,但不支持string类) string类将string::nops定义为字符串最大长度,通常为unsigned int最大值 string与wstring: string是针对char而预先定义的特化版本,wstring是针对wchat_t而预先定义的特化版本 使用wstring可以让你使用宽字符集,例如Unicode或某些亚洲字符集‘ 所有字符串类型都采用相同接口,所以两者用法都一样。 C++字符串并不以’/0’结尾 注意对象名不会被看做是对象地址,比如string s(20, ‘x’); s不是指针,s+6没有意义,而&s[6]却是指针。 字符串各种操作函数 Name Feature swap() 交换两个字符串的内容 =, assign() 赋以新值 +=, append(), push_back() 在尾部添加字符 insert() 插入字符 erase() 删除字符...
emacs官方文档阅读笔记
基本命令行 翻页浏览命令C-v 向前移动一屏M-v 向后移动一屏C-l 重绘屏幕,并将光标所在行置于屏幕的中央 光标移动命令C-f 向右移动一个字符C-b 向左移动一个字符 M-f 向右移动一个词【对中文是移动到下一个标点符号】M-b 向左移动一个词【对中文是移动到上一个标点符号】 C-n 移动到下一行C-p 移动到上一行 C-a 移动到行首C-e 移动到行尾 M-a 移动到句首M-e 移动到句尾 M->文章末尾 M-<文章首段 文本编辑命令< DEL > 删除光标前的一个字符【这里的DEL指键盘上的Backspace键】C-d 删除光标后的一个字符 M-< DEL > 移除光标前的一个词M-d 移除光标后的一个词 C-k 移除从光标到“行尾”间的字符【移除其实相当于其他编辑器里的剪切】M-k 移除从光标到“句尾”间的字符 C-y 在光标所在处插入最后移除的文字【这个召回命令其实相当于其他编辑器...
c++小总结2
虚函数与继承,转换函数 虚函数与继承12345678class shape{ public: virtual void draw() const = 0; //pure virtual,一定要定义 virtual void error(const std::string& msg); //impure virtual,希望重新定义,而且已有默认定义 int objectID() const; //non-virtual,不希望重新定义} 转换函数情况11234567891011121314151617class Fraction{ public: Fraction(int num, int den = 1) : m_numerator(num), m_denominator(den) { } //(1) operator double() const //转换函数 { return (double)(m_numerator / m_denomina...
c++小总结
构造函数不能共存例子、构造函数放在private、const在函数前与后、相同class的各个objects互为友元、设计一个类注意事项、操作符重载、new与delete、static、继承,复合,委托 1. 构造函数不能共存例子1234567(1)complex (double r = 0, double i = 0) : re(r), im(i){ }(2)complex() : re(0), im(0) { } 当使用complex c1;或complex c2();时,两种创建办法都没有参数,编译器可以调用(1),对于(2),虽然函数有参数,但是有默认值,也可以调用,所以会冲突,不能共存。 2. 构造函数放在private一般我们不把构造函数放在private里面,因为这样不能被外界调用。其实也有特殊情况,下面列举一种,Meyers Singleton设计模式 123456789101112131415161718class A{public: static A& getInstance(); setup()...
过年是不可能过年的
如今新年越来月没有年味了,对于我来说,给电脑换个壁纸等于过年 </div> 壁纸,当然得骚红,毕竟 男人可以不帅,但是不能不骚 今年春晚有4k源,但是在youtube上面嗨,估计也是给外国佬当做催眠剂把,毕竟 春晚一分钟,稳睡一晚上 无聊来谢谢随笔,其实也不算随笔,就是在xjb写 其实吧,是为了测试下悠闲谈板块而已 放假后用hexo和github搭建了个博客,这可能是好事,也可能是坏处,毕竟有很多东西都有两面性 然后,就没有然后了,现在是除夕下午,衣着简陋,无心过年,唯有农药 (说,农药给了你多少钱)
STL之set和multiset
set和multiset容器的操作函数和一道题:HDU 4989 Summary 一、开始 使用set或multiset之前,必须加入头文件 set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set 和multiset容器的内部结构通常由平衡二叉树(balancedbinary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less<>排序规则来排序。两者不同之处在于,multisets允许元素重复,而set不允许重复。 平衡二叉树: </div> 这种自动排序的特性加速了元素查找的过程,但是也带来了一个问题:不可以直接修改set或multiset容器中的元素值,因为这样做就可能违反了元素自动排序的规则。如果你希望修改一个元素的值,必须先删除原有的元素,再插入新的元素。 sets和multisets具有以下特点: 不提供直接用来存取元素的任何操作元素 通过迭代器进行元素的存取。二、set和mul...
STL之vector
vector的声明、向量操作、访问方式、赋值操作、安插,移除相关操作、应用实例。一道习题(第k个约数) 一、 开始: 要使用vector必须包含头文件< vector > vector可以看成是动态一维数组 vector可以存在重复元素(set不能存在) vector迭代器是随机存取迭代器,所以对任何一个STL算法都奏效 在末端附加或删除元素时,vector的性能相当好。但是如果在前端或在中部安插或删除元素,性能就不怎么样了。因为操作点之后的每一个元素都必须移到另一个位置,而每一次移动都得调用赋值操作符二、 vector的声明:12345678910vector<type> a;/*type可以是int,double等等.此时a.size()为0,但是因为是动态的,所以大小会可能改变*/int n; cin >> n;vector<type> a(n); //动态分配vector<int> a(100, 0);//声明一个存放了100个0的整数vector,其大小没有被固定为100,还可以加数据vector<typ...
一步一步写出c++带指针类实例(标准库string部分)
共16步本篇文章注重与complex篇的区别,可能不那么详细 流程: 写出主体(行1,2,11) 考虑private里面要放的数据,字符串,当然是放很多字符,一种想法是里面放一个数组,但是这种数组可能不是很好,因为数组你得指明多大,太大或太小都不好。所以我们选择另一种做法,在里面放一个指针,将来要分配多大内存,就动态去分配,用new的方式。一个指针多大,在传统的32位电脑中是4个字节,所以无论以后字符串里面内容是什么,字符串这个对象本身就是4个字节。(行9,10) 然后到了准备函数的环节,首先当然是构造函数,要使外界创建string,一定要调用构造函数,而且要放到public(当然也有放在private里面的,只是很少)。 存进来以后当然不可能要改变里面的东西,我们只是拿来当初值而已,所以加const,并且给默认值为0。(行4) class里面有指针,所以要去关注三个重要特殊的函数。 第一个是拷贝构造函数。既然是拷贝构造,那么就是相当于它自己,则参数里面类型用String。再考虑下引用和const的问题,引用必须的。(行5)我们传进来只是复制个蓝本,没有考虑要去改变,所以加上co...