C/C++
Cshawvi
这个作者很懒,什么都没留下…
展开
-
c++ list容器的特性(权哥)
/*list的个性:双向链表增删:.push_front(element), .pop_front(), .remove(element)//==不支持下标[]除重:.unique()相邻的重复元素只保留一个排序:.sort(compare_func=less)默认用小于符号比较,从小到大排序倒置:.reverse()颠倒链表中元素顺序转移:.splice(pos,list2), .s原创 2013-11-27 14:00:27 · 995 阅读 · 0 评论 -
c++ STL之map的个性(权哥)
/*map的个性:不允许key重复元素是key/value对支持以key为下标访问对应的value的引用,如果key不存在就新增一个元素以这个为key。*/#include using namespace std;#include #include "print.h"int main(){map mis;/*插入map元素的三种方式*/mis.i原创 2013-12-28 19:34:17 · 708 阅读 · 0 评论 -
c++ STL之 set 的个性(权哥)
/*set的个性:元素就是key不允许重复key*/#include #include using namespace std;#include #include "print.h"#include /*从文件maillist中读邮箱地址,相同的不重复*/int main(){ set ss;//set ss; string s;//char s[100]; ifst原创 2013-12-28 19:59:01 · 618 阅读 · 0 评论 -
c++ STL之 multiset 的个性(权哥)
/*multiset的个性:元素就是key允许有重复的key*/#include #include using namespace std;#include "print.h"#include #include int main(){ multiset ms; string name; cout << "请输入你选举的人的姓名(Ctrl+D表示结束):\n"; whi原创 2013-12-28 20:08:07 · 675 阅读 · 0 评论 -
c++ STL关联式容器的共性(权哥)
/*关联式容器共性:都是用二叉查找树实现的,都自动根据关键字排序set, multiset, map, multimap<K,V)查找:.find(key)返回一个迭代器指向找到的第一个元素,失败返回.end()统计:.count(key)统计关键字等于key的元素的个数删除:.erase(key)删除关键字等于key的所有元素区间:.lower_bound(key)取得关键字为key原创 2013-11-27 14:02:29 · 776 阅读 · 0 评论 -
c++ STL之 multimap 的个性(权哥)
/*multimap的个性:允许重复key元素是key/value对不支持方括号下标*/#include #include using namespace std;#include "print.h"#include int main(){ typedef multimap MSD; MSD m; m.insert(MSD::value_type("WG",100000原创 2013-12-28 19:49:06 · 815 阅读 · 0 评论 -
c++ STL之 特殊容器(权哥)
/*特殊容器有:stack,queue,priority_queue共性:.push(element), .pop(), .empty() 没有迭代器个性:stack:.top(), queue:.front(),.back() priority_queue:.top()*/#include #include using namespace std;/*以priority_qu原创 2013-12-28 20:18:12 · 712 阅读 · 0 评论 -
c++ STL之 for_each(权哥)
STL中支持迭代器的容器可以用for_each来做循环迭代以下是一个demo:#include #include using namespace std;#include void add10(int& element){ element += 10;}string print(int element){ cout << element << ' '; return原创 2013-12-28 20:40:54 · 794 阅读 · 0 评论 -
c++ STL之 copy(权哥)
这个demo演示STL容器间数据的拷贝方法:#include #include using namespace std;#include #include "print.h"#include /*模拟copy*/template void co(Iter ib, Iter ie, Pos p){ while(ib!=ie) *p++=*ib++;}/*模拟copy_back原创 2013-12-28 21:08:44 · 854 阅读 · 0 评论 -
c++ STL之 find和count(权哥)
/*iterator find(pos_beg, pos_end, data)iterator find_if(pos_beg, pos_end, cond), bool cond(element)int count(...), int count_if(...)*/#include #include using namespace std;#include #include原创 2013-12-28 21:18:01 · 1592 阅读 · 0 评论 -
C++ 容器及选用总结
转载自:http://blog.csdn.net/fsll2013/article/details/17101229C++ 容器及选用总结目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函转载 2013-12-28 21:42:33 · 744 阅读 · 0 评论 -
C++ 文件操作中迭代器的使用(权哥)
/*迭代器分类(it):++,*,->,==,!=输入迭代器:可读*it的值,但不一定能修改(设置)*it的值输出迭代器:可以设置*it的值,但不一定能读取*it的值前向迭代器:可以读取也可以设置*it的值双向迭代器:支持--随机迭代器:几乎跟指针一样,支持--,+n,-n,比较大小,[下标]*/#include #include using namespace std;#in原创 2013-12-28 22:16:19 · 996 阅读 · 0 评论 -
c++迭代器总结
c++迭代器总结转载自:http://blog.csdn.net/lsm307742191/article/details/3638661http://blog.csdn.net/lsm307742191/article/details/3639971迭代器分类:1、输入迭代器:只读,一次传递 为输入迭代器预定义实现只有istream_iterator和i转载 2013-12-28 21:55:03 · 4049 阅读 · 2 评论 -
sscanf和sprintf()函数使用说明
sscanf和sprintf()函数使用说明 sprintf()使用说明在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sp转载 2014-01-06 22:27:59 · 5148 阅读 · 0 评论 -
虚析构函数的作用
有时候我们需要用基类的指针删除其子类的对象,这时候要非常注意,倘若基类的析构函数是 non-virtual析构函数,那么事实上,只有基类的析构函数被调用,派生类的析构函数并没有被调用,这可能会导致资源泄漏。为避免这中情况发生,我们可以将基类的析构函数声明为virtual,这样的话,子类对象才能被完全销毁.测试程序: 1 #include 2 3 using namespace std原创 2013-10-20 21:37:08 · 659 阅读 · 0 评论 -
求2~2000的所有素数.有足够的内存,要求尽量快
[cpp] view plainco方法一: [cpp] view plaincopy#include #include using namespace std; int findvalue[2000]={2}; static int find=1; bool adjust(int value)转载 2013-10-22 11:32:01 · 997 阅读 · 0 评论 -
c++ vector容器的特性(权哥)
/*vector的个性:当前容量: .capacity()约定容量: .reserve(n)下标[]: .operator[](i)不检查越界, .at(i)越界抛出异常*/#include using namespace std;#include #include "print.h"#include #include int main(){ vector vd, vv原创 2013-11-27 13:57:45 · 864 阅读 · 0 评论 -
c++ deque容器的特性(权哥)
/*deque的个性:double-ended queue下标[]: .operator[](i)不检查越界, .at(i)越界抛异常增删:.push_front(element), .pop_front()*/#include using namespace std;#include #include "print.h"int main(){ deque dc; dc.pu原创 2013-11-27 13:59:20 · 767 阅读 · 0 评论 -
c++ STL序列式容器的共性(权哥)
/*序列式容器的共性:vector,deque,list构造函数:指定元素个数和初始值(初始值默认为零初始化)插入:.insert(pos, n, element), .insert(pos, pos_beg, pos_end)赋值:.assign(n, element), .assign(pos_beg, pos_end)调整:.resize(n, element=零初始化)首尾:.f原创 2013-11-27 13:54:59 · 796 阅读 · 0 评论 -
C 语言中实现数据与方法的封装
出处:http://blog.csdn.net/justme0/article/details/10055441在 C 语言中可以用结构体代替类,用函数指针代替成员方法,实现数据成员与成员方法的封装,在客户端写出的程序与 C++ 类似,唯一的不同是 C 语言中调用函数指针成员时必须将本对象的地址传给函数,因为 C 语言中各函数的地位是相同的。 本文以模仿 STL 中的转载 2013-10-20 21:18:32 · 683 阅读 · 0 评论 -
三维数组元素的引用问题
三维数组可以看做二位数组的元素为一位数组的情况给出一个三维数组char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}}};怎么顺序地引用其中的每一个元素呢?#include #include int main(){ char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{2原创 2013-10-22 17:01:31 · 1838 阅读 · 0 评论 -
各种排序算法稳定性的总结
原地址:http://blog.csdn.net/johnny710vip/article/details/6895654这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或转载 2013-11-01 19:57:01 · 903 阅读 · 0 评论 -
面试经常考到的二维数组引用问题(待补充)
#include #include int main(){ int num[2][2]={{1,2},{3,4}}; /*以下是引用num[1][1]的方法*/ //printf("%d\n",(num+1)[1]); //错误的写法 printf("%d\n",*(*(num+1)+1)); //正确的写法==>联想一维数组*ar原创 2013-11-01 20:37:38 · 833 阅读 · 0 评论 -
C++类的构造和析构顺序
#include using namespace std;class test{public : test(){cout << "construct test" << endl;} ~test(){cout << "destroy test" << endl;}};class base{public : base(){cout << "construct原创 2013-11-02 22:29:31 · 936 阅读 · 0 评论 -
C/C++怎么有效的防止内存泄漏
原地址:http://blog.csdn.net/couhujia/article/details/8474905首先说说标题可能取得有些大,但是可以理解为编程过程中有效的防止写的代码中有内存泄漏。好了废话不多说了,首先看下面一段代码。class Image { public: Image(const std::string& imgFileName转载 2013-11-03 20:45:34 · 1523 阅读 · 0 评论 -
【C/C++笔试】输入一句英文,要求单词本身逆置,标点不变,单词相对顺序不变
面试某公司碰到这样一道题,要求画出流程图并完成编码。题目大意:在文本加密方法中,常常对文本的顺序进行调整,现要求:输入一句英文,要求单词本身逆置,标点不变,单词相对顺序不变。例如:输入Hello,my guys!输出应为:olleH,ym syug!我的代码:如下(发现错误,或有好的方法,欢迎评论)#include#include#include#define M原创 2013-11-17 21:20:00 · 1310 阅读 · 0 评论 -
typeid详解
转载自:typeid详解在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和ty转载 2013-11-23 22:28:57 · 838 阅读 · 0 评论 -
c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
#include #include #include using namespace std;template void sort(T a[], int n){ for(int i=0; i<n-1; i++){ int min = i; for(int j=i+1; j<n; j++) if(a[j]<a[min]) min = j; swap(a[mi原创 2013-11-24 22:19:28 · 1490 阅读 · 0 评论 -
auto_ptr详解
转自:http://blog.csdn.net/faithmy509/article/details/4229110一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::auto_ptr还不够完美?二、C转载 2013-11-26 09:39:37 · 1510 阅读 · 0 评论 -
c++ 模板学习笔记:函数模板的类型识别(权哥)
当我们实例化一个类模板的时候,我们必须确知用以实例化类型。模板函数则可以识别一个变量、常量、表达式结果的类型。下面是一个模板函数演示:#include #include #include using namespace std;template class Type{public: static string name(){return typeid(T).name();}原创 2013-11-24 21:27:44 · 2053 阅读 · 0 评论 -
c++ 模板学习笔记:用数组和类模板模拟通用栈(权哥)
初学c++模板类,此处拾人牙慧,用数组和类模板模拟通用栈。#include using namespace std;#include template class Stack{ T a[len]; int cur;public: const char* element()const{return typeid(T).name();} int max_size()const{r原创 2013-11-24 12:16:14 · 1043 阅读 · 0 评论 -
c++ 模板学习笔记:类模板和函数模板实现pair(权哥)
pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,这里作为练习,自己去简单地实现pair。#include using namespace std;template To convertto(From v){ return To(v); }template To convertto(const char* str){ return To(atof(str)原创 2013-11-25 21:02:32 · 1330 阅读 · 0 评论 -
c++ 模板学习笔记:理解类模板的特化与偏特化(权哥)
/*理解类模板的特化、偏特化*/#include #include #include using namespace std;template class Type{public: static string name(){return typeid(T).name();}};/*特化:特定某个类型*/template <>class Type{public: sta原创 2013-11-24 18:17:12 · 982 阅读 · 0 评论 -
c++ 模板学习笔记:类模板模拟auto_ptr智能指针(权哥)
之前转载了一篇文章:auto_ptr详解>>地址:http://blog.csdn.net/shawvichan/article/details/16959475为了帮助理解其工作原理,此处自己写类模板来简单地模拟auto_ptr智能指针。#include using namespace std;template class autoptr{ T* p;public:原创 2013-11-26 10:57:05 · 1262 阅读 · 1 评论 -
c++ STL标准容器的共性(权哥)
/*标准容器(类模板)的共性:vector,deque,list,set/map,multi...构造函数:无参构造,拷贝构造,区间构造(两个迭代器表示的两个位置)析构:迭代器相关:正向.begin(),.end(),反向.rbegin(),.rend() iterator,reverse_iterator,const_iterator,const_reverse_iterator *,原创 2013-11-27 13:53:03 · 992 阅读 · 0 评论 -
c++ web framework
Here are a few web sites that might interest you:http://cppcms.com/wikipp/en/page/mainhttp://www.webtoolkit.eu/wthttp://binarytiers.org/http://www.micronovae.com/CSP.htmlhttp://www转载 2017-06-18 11:50:01 · 1074 阅读 · 0 评论