![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
Coder_Suo
这个作者很懒,什么都没留下…
展开
-
一行文本中的最长单词
http://www.ahathinking.com/archives/tag/%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97转载 2014-07-10 15:35:08 · 535 阅读 · 0 评论 -
sizeof小结
sizeof()功能:计算数据空间的字节数////1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。////2.指针与静态数组的sizeof操作 指针均可看为变量类型的一种。所有指针变量的sizeof 操作结转载 2014-08-11 20:10:20 · 540 阅读 · 0 评论 -
指针数组什么的真麻烦
#include#includeint main(){ printf("char arg1[]={\"one1\"}\n"); char arg1[]={"one1"}; printf("%s\n\n",arg1); printf("char *arg2={\"one2\"}:\n"); char *arg2={"one2"}; printf("%s\n\n",arg2);原创 2014-03-07 17:30:55 · 661 阅读 · 0 评论 -
C++中适配器的理解
1.如何理解容器适配器,其与顺序容器有什么区别?adapter原意是插座、适配器、接合器的意思。现在我需要一个栈结构,我们可以用deque来模拟,只在一端进行元素插入和弹出,另一端不动。但deuqe毕竟不能直接作为一个stack,它并不能直接地严格地满足你的要求,因为你不能防止别人在另一端乱动你的东西。你需要对它进行一些包装,作一些限制,使之只能在一端进行插入和删除。也就是说你必须提供一个转载 2014-03-07 17:25:13 · 714 阅读 · 0 评论 -
关于vc变量定义顺序猜测
没上在网上看到网友提问指针加减的问题,看到个很有意思的现象——变量声明和地址的关系,大胆猜测一下,望指正。下面两个小程序的输出是什么?//代码1#includevoid main(){ int a=1,b=2,c=3; int *p=&a; *(p++); printf("a=%d,b=%d,c=%d\n",*(p-1),*(p-2),*(p-3));}//代码2原创 2013-10-31 15:28:44 · 598 阅读 · 0 评论 -
《C和C指针》中转移表的实现
先上代码#include #include double add(double a, double b){ return a+b; } double sub(double a, double b){ return a-b; } double mul(double a, double b){ return a*b; }原创 2013-11-03 15:18:04 · 799 阅读 · 0 评论 -
裘宗燕:C/C++ 语言中的表达式求值
经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; cout C++ 不是规定 要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量/减量操作等),什么时候从该变量能够取到新值?转载 2014-08-14 10:56:08 · 1092 阅读 · 0 评论 -
位操作和一些题目总结
1.位操作基础学习全面总结:里面转载 2014-08-11 11:30:24 · 670 阅读 · 0 评论 -
指向指针的指针
http://www.cnblogs.com/dzry/archive/2011/05/12/2044835.html转载 2013-11-01 21:55:37 · 506 阅读 · 0 评论 -
关联容器使用举例
/*1. 题目:定义一个vector容器,存储你在未来六个月里要阅读的书籍,再定义一个set,用来记录你看过的书名,编写程序从vector中为你选择一本没有读过而现在要读的书。当它为你返回选中的书名时,应该讲该书名放入记录已读书目的set中。如果实际上你把这本书放在一边没有看,则本程序应该支持从已读书目的set中将该记录删除。在虚拟的6个月后,输出已读书目和还没有读的书目。原创 2014-07-10 11:10:02 · 444 阅读 · 0 评论 -
华为编程大赛——出圈问题
问题描述M个人围成一圈报数,数到N(1报数规则:1、从第一个人开始报数为1,下一个人报数为上一个人报数加12、报数的最大值为2000,如果报数超过2000,则下一个人重新从1开始报数要求实现函数int OutFunc (unsigned int iTotalNum, unsigned int iKey)【输入】iTotalNum: 开始报数前的总人数, 0原创 2014-07-30 19:44:35 · 562 阅读 · 0 评论 -
重载技巧+简单实现string和Vector
为类设计重载操作符的时候,必须选择是将操作符设置为类成员还是普通非成员函数。在某些情况下,程序没有选择,操作符必须是成员;在另外一些情况下,有些经验可以指导我们做出决定。下面是一些指导: 1.赋值(=),下标([]),调用(())和成员访问箭头(->)等操作符必须定义为成员,将这些操作符定义为非成员函数将在编译时标记为错误。 2.像赋值一原创 2014-09-02 15:12:31 · 706 阅读 · 0 评论 -
2015-华为招聘公开测试题目2-麻将番数
#include#includeusing namespace std;int IsStr4(string& str){//确定是抓到“杠”了 if(str[0]==str[2] && str[0]==str[4] && str[0]==str[6] &&str[1]==str[3] && str[1]==str[5] && str[1]==str[7]){ return 1;原创 2014-08-22 21:42:01 · 731 阅读 · 0 评论 -
traits技术学习总结
一、基础篇Traits技术可以用来获得一个 类型 的相关信息的。 首先假如有以下一个泛型的迭代器类,其中类型参数 T 为迭代器所指向的类型:template typename T>class myIterator{ ...};当我们使用myIterator时,怎样才能获知它所指向的元素的类型呢?我们可以为这个类加入一个内嵌类型,像这样:template ty转载 2014-08-14 21:54:42 · 1196 阅读 · 0 评论 -
C++面向对象编程实例——文本查询程序
文本查询程序,读取一段文本输入单词,获得该单词在文本中的行号,并输出该行的内容(若该单词在一行出现多次,只输出一次)原创 2014-07-31 19:58:07 · 1211 阅读 · 0 评论 -
去除字符串标点 + 泛型算法使用
问题:读取一个文件(含标点),统计长度小于4的单词个数,并按长度顺序输出,重复单词只输出一次。考查:去除字符串标点 + 泛型算法使用思路:1.获取每个单词,存入到vector中去——考查:去除字符串标点 2.剔除重复单词,——考查:泛型算法使用一、去除标点符号1.读取一个含有标点符号的文件,2.使用 startPos=str.find_first_not_of(separa原创 2014-07-10 11:05:25 · 608 阅读 · 0 评论 -
字符串读取
有两种方法可以读C++字符串:使用提取操作符(>>)和getline函数。(1)字符串提取操作符:首先,它跳过前导空白字符,然后提取所有邻近的非空白字符。当发现空白字符时,它就停下来。终止空白字符被留在输入流中.提取操作符可以用来从键盘(cin流)或者使用开放式文件流从文件读数据。例如,要把一个值读入字符串对象str1,你只需要编写下面的语句之一。cin>>str1; o原创 2014-07-10 10:44:02 · 672 阅读 · 0 评论 -
组合使用容器可以获得比multimap更多的功能
预备知识:1.map容器和set容器均会对键key原创 2014-07-09 11:40:26 · 499 阅读 · 0 评论 -
类的static成员总结
1. static关键字只能用于类定义体内部声明中,定义不能标示为static。2. static成员函数可以直接访问类的static成员,但不能直接访问非static成员;类成员函数可以直接访问类的static成员。3. static成员必须在类定义体外定义且只能定义一次。 static成员不能通过构造函数,而是在定义时初始化。 static关键字只能用于类定义体内部原创 2014-07-18 10:14:08 · 508 阅读 · 0 评论 -
cin.clear()和cin.sync
cin.clear()、cin.sync() cin.clear()是用来更改cin的状态标示符的。 cin.sync()是用来清除缓存区的数据流的。如果标示符没有改变那么即使清除了数据流也无法输入。所以两个要联合起来使用。例如:#includeusing namespace std;int main(){ int a; cout<<"输入一个字母:"<<en转载 2014-07-22 21:39:25 · 563 阅读 · 0 评论 -
从“派生类不能访问基类对象的protected成员”开始讨论各类成员的“可见性”
派生类 不能通过 基类对象 访问 基类的protected成员,如果能,不就成了public了吗?所以“不仅派生类不能通过基类对象访问其protected成员,其他类也不能通过基类对象访问基类的protected成员”。补充半句:派生类本身可以访问基类的protected成员,将其视为自身的成员。 如果不在派生类中,派生类对象就不可以访问基类的protected成员。原创 2014-07-22 21:56:45 · 2613 阅读 · 0 评论 -
基类+派生类 各成员在内存中的摆放和赋值顺序
/* 2014-07-24 问题:基类的私有成员是否 影响 派生类的sizeof?它们在内存中的位置怎么排列? 1. 即使基类中私有和受保护成员对用户是不可见的,但它们仍旧在内存中占据位置。 2. 派生类中变量不是根据访问标号pub/pro/pri来排列的。而是根据 1)不同类 2)在类中声明顺序来排序的*/#include using namespace std;原创 2014-07-24 11:24:05 · 1216 阅读 · 0 评论 -
面向对象编程实例——句柄类的使用
句柄类原创 2014-07-31 09:26:17 · 1701 阅读 · 0 评论 -
华为编程大赛——判断给定数是否满足条件
判断给定数是否满足给定条件要求 题目描述:1、 条件是一个字符串,其格式由数学上的“开闭区间”,"&&"和"||"组成。其格式为:[5,7]&&(6,9]||(10,20),该条件表示“大于等于5,小于等于7”并且“大于6,小于9”或者“大于10,小于20”。2、 &&优先级高于||。输入:1、 字符串1:上述描述格式的条件:如[5,7]&&(6,9]||(10,20)原创 2014-07-17 11:17:07 · 530 阅读 · 0 评论 -
最长重复子串—后缀数组
知识点:1. sort 使用时得注明:using namespace std; 或直接打 std::sort() 还得加上 #include 2. qort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数,只要注明 使用的库函数就可以使用,参数只有两个(如果是普通用法)头指针和尾指针; 3. 默认sor转载 2014-07-10 17:28:10 · 699 阅读 · 0 评论 -
C++面向对象编程——条件查询程序
没搞明白。题目来源原创 2014-07-31 20:06:10 · 676 阅读 · 0 评论 -
关于C++ return * this的理解
#includeusing namespace std;class Test{ public: //构造函数 Test(int i=0, double j=0.0) : m_i(i), m_j(j){ } //赋值构造函数 Test& operator=(Test &rhs){ this->m_i = rhs.m_i; this->m_j = rhs.m_j;原创 2015-04-23 16:06:58 · 14157 阅读 · 4 评论