
C++
pengfoo
这个作者很懒,什么都没留下…
展开
-
vector 学习初步(1)
相信,例子最直观,从实例里学习,最有效。例1:#include using namespace std;#include int main(){ const int seq_size=18; vector pell_seq(seq_size);//将pell_seq定义为一个vector object,可存储18个int元素。 pell_seq[0原创 2012-03-19 13:44:54 · 981 阅读 · 0 评论 -
网易2009年校园招聘--一道关于<list>的STL题目
请用C++实现以下print函数,打印链表I中的所有元素,每个元素单独成一行void Print(const std::list &I){}#include //using namespace std;#include template void Print(const std::list &list){ std::list::const_iterator iter;原创 2012-10-08 15:53:46 · 1804 阅读 · 1 评论 -
网易校园招聘c++题目--如何让new操作符不分配内存,只调用构造函数
问题:c++中的new操作符 通常完成两个工作 分配内存及调用相应的构造出世核函数。请问:1)如何让new操作符不分配内存,只调用构造函数?2) 这样的用法有什么用?解答:(要求new显式调用构造函数,但不分配内存。)题目要求不能生成内存 还要调用构造函数 说明这个类里面没有对内部操作 但可以对外部操作 比如static的数摘录:如果我是用new分配对象的,可以显式调用析构转载 2012-10-08 16:21:54 · 2223 阅读 · 0 评论 -
C++中的覆盖和隐藏
C++中的覆盖和隐藏,是个令人头疼的问题,下面写几点自己的认识。首先,参考c++高质量编程指南,给出覆盖的特征:覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。再给出隐藏的特征:“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:原创 2012-09-21 14:15:11 · 1211 阅读 · 0 评论 -
【C语言】逐行读取文本数字数据,经过某种处理再逐行写入另外一个文本
参考标准I/O库函数标准I/O库函数讲一下printf和scanf函数了,这两个函数都有很多种形式。#include int printf(const char *format, ...);int fprintf(FILE *stream, const char *format, ...);int sprintf(char *str, const char *format, ...原创 2013-01-12 09:44:21 · 6751 阅读 · 2 评论 -
C++依次读取文件中的汉字并将汉字转为string类型
void Wchar_tToString(std::string& szDst, wchar_t *wchar){ wchar_t * wText = wchar; DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE);// WideCharToMultiByte的运用 char *p原创 2013-09-24 20:44:02 · 4241 阅读 · 0 评论 -
C++ 操作sqlite3数据库
C++ 操作sqlite3数据库参考:http://www.cnblogs.com/BoyXiao/archive/2012/03/31/2426495.htmlhttp://blog.youkuaiyun.com/harry_lyc/article/details/6663176http://www.sqlite.org/download.htmlhttp://www.th7.cn/Pr原创 2013-09-25 12:37:56 · 1473 阅读 · 0 评论 -
【C++】log4cxx相关使用
在vs2012下编译log4cxx,参见http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html原创 2013-09-27 19:51:35 · 955 阅读 · 1 评论 -
nginx upload 模块build错误解决error: variable ‘result’ set but not used [-Werror=unused-but-set-variable]
../nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function ‘ngx_http_upload_merge_ranges’:../nginx_upload_module-2.2.0/ngx_http_upload_module.c:1681:18: error: variable ‘result’ set but not us原创 2013-10-17 21:15:54 · 6300 阅读 · 0 评论 -
用zxing 识别二维码的main函数
// -*- mode:c++; tab-width:2; indent-tabs-mode:nil; c-basic-offset:2 -*-/* * Copyright 2010-2011 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may转载 2014-05-08 22:21:33 · 3502 阅读 · 0 评论 -
C++的一个记日志的代码
同事提供的一个记日志的代码,支持四种日志级别,原创 2014-05-14 14:51:26 · 1459 阅读 · 0 评论 -
C++将数字转为字符串,并拼接
发现c/c++中对字符串的处理,没有更高级语言中那么方便,原创 2014-05-11 15:41:36 · 4663 阅读 · 0 评论 -
C++字符串处理的一个例子:1.查找一个字符在字符串中第n次出现的位置。2分割字符串
直接上源码: //查找一个字符在一个字符串中第n次出现的位置int findNstPositon(char *str,char c,int n){ char *p = str; int index = 0; int count = 0; while(*p != '\0') { if(*p == c) { count ++; }原创 2014-05-14 11:27:47 · 7443 阅读 · 0 评论 -
C++用zxing识别二维码
zxing 可以从github的官方网站上下载下来,这里提供一个VS 2010编译zxing的静态库工程,编译时注意一点是:zxing的很多不同的文件夹下含有相同名称的源文件,在编译时应该分别设置这些源文件的obj文件输出到不同的路径下,否则VS默认会将这些obj文件输出到同一个目录下,从而产生相互覆盖,编译期也会给出警告,这样编译生成的库不全,后期链接调用时很可能发生链接不到的错误。具体可以参考原创 2014-05-14 15:41:51 · 36351 阅读 · 11 评论 -
【校园招聘】一道笔试题看c++中virtual覆盖
#includeusing namespace std;class A{ public: void virtual f() { cout<<"A"<<endl; } };class B:public A{ public: void /*virtual*/ f() //virtual可以省略,也可以不省略,效果相同。 {原创 2012-09-17 20:12:42 · 1340 阅读 · 0 评论 -
C++ static、const和static const变量 以及它们的初始化
#include using namespace std;class Test{public: //Test():a(0){} Test(); enum {size1=100,size2=200};private: const int a;//只能在构造函数初始化列表中初始化,,,不能用其他方式(如和staic ,const static 类似的方式) static int原创 2012-10-07 21:28:39 · 1188 阅读 · 0 评论 -
strcmp的递归实现
#includeint Strcmp(char *p1, char *p2){ if(*p1!='\0' && *p2!='\0') { if(*p1 > *p2) return 1; else if(*p1 < *p2) return -1; else { p1++; p2++; return Strcm原创 2012-09-29 00:09:08 · 809 阅读 · 0 评论 -
华为机试题
1. 删除字符串中所有给定的子串(40分)问题描述: 在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。要求实现函数: int delete_sub_str(const char *str, const char *sub_str, char *result_str)【输入】 str:输入的被操作字符串 sub_str:需要查找并删原创 2012-04-04 18:40:39 · 3156 阅读 · 2 评论 -
华为机试题(2)
1、选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与 score[]数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 =专家评委平均分 * 0.6 +原创 2012-04-06 17:21:51 · 2329 阅读 · 1 评论 -
华为机试题(3)
1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数void Stringchang(const char*inpu,char*output)其中input是输入字符串,output是输出字符串#include #include void Strin原创 2012-04-07 15:28:55 · 2466 阅读 · 1 评论 -
华为机试题(5)
第一题 整数化成字符串给定一个整数(有可能是负数),将整数变成字符串。函数已经声明好类似void change(int number, char s[])的形式。可以自己写用例测试。#include #include void change(int number, char s[]){ int m; int i; char tmp[50]; if(numbe原创 2012-04-09 22:04:01 · 1949 阅读 · 1 评论 -
华为机试题(4)
1、 识别字符串中的整数并转换为数字形式void take_num(const char *strIn, int *n, unsigned int *outArray)【输入】 strIn: 输入的字符串【输出】 n: 统计识别出来的整数个数 outArray:识别出来的整数值,其中outArray[0]是输入字符串中从左到右第一个整数, o原创 2012-04-08 22:35:39 · 3453 阅读 · 6 评论 -
华为机试题(7)
对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉着放且输出数组第一位放奇数若奇数和偶数不等长,则把剩下的直接放到数组中。#include #include #include void sorts(int a[],int n){ int i,j; int tmp; int cnt0=0,cnt1=0; int cnt2; /*in原创 2012-04-11 12:11:25 · 1897 阅读 · 0 评论 -
华为机试题(6)
1、删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。#include #include #include int delete_sub_str(const char *str,const char *sub_str,char *result){ char *p=str; char *q=sub_str; char *r = result;原创 2012-04-10 17:32:07 · 1979 阅读 · 0 评论 -
华为机试题(8)--单向链表的建立,反转(逆序),遍历显示,删除
单向链表的建立,反转(逆序),遍历显示,删除#include #include typedef struct node//节点存放一个数据和指向下一个节点的指针{ int data; struct node* pnext;} Node;Node *link_create()//链表创建{ int item; Node *head = NULL;原创 2012-04-11 21:20:48 · 2606 阅读 · 1 评论 -
华为机试题(9)--将两个数从字符串转为数,将这两个数做乘积后再转化为字符串保存起来
求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来 #include #include void mul(char *input1,int n1,char *input2, int n2,char *output){ char *p1=input1;原创 2012-04-12 10:20:32 · 2408 阅读 · 1 评论 -
华为机试题(10)--删除单向链表中的某些节点
输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点全部删除),剩余的节点逆序倒排。【输入】 pstrIn:输入一个不带头节点的单向链表【输出】 pstrOut:删除内容重复的节点后,逆序排列的链表(不带头节点,链表第一个节点的内存已经申请)。 示例:输入链表的内容依次为 6,7,8,8,9,10,6则输出链表的内容依次应该是原创 2012-04-12 21:11:21 · 2697 阅读 · 0 评论 -
华为机试题(11)--约瑟夫问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。#include #include typedef struct node//节点存放一个数据和指向下一个节点的指针{ int data;原创 2012-04-13 19:35:46 · 2378 阅读 · 2 评论 -
【C语言深度剖析】测试系统存储是大端模式还是小端模式的方法
请写一个C 函数,若处理器是Big_endian 的,则返回0;若是Little_endian 的,则返回1。先分析一下,按照上面关于大小端模式的定义,假设int 类型变量i 被初始化为1。以大端模式存储,其内存布局如下图: 以小端模式存储,其内存布局如下图: 变量i 占4 个字节,但只有一个字节的值为1,另外三个字节的值都为0。如果取出低地址上的值为0,毫无疑问,这是大端原创 2012-09-02 20:50:12 · 1882 阅读 · 0 评论 -
【C语言深度剖析】读书笔记之 signed ,unsigned
1.4,signed、unsigned 关键字我们知道计算机底层只认识0、1.任何数据到了底层都会变计算转换成0、1.那负数怎么存储呢?肯定这个“-”号是无法存入内存的,怎么办?很好办,做个标记。把基本数据类型的最高位腾出来,用来存符号,同时约定如下:最高位如果是1,表明这个数是负数,其值为除最高位以外的剩余位的值添上这个“-”号;如果最高位是0,表明这个数是正数,其值为除最高位以外的原创 2012-09-02 18:31:21 · 1231 阅读 · 0 评论 -
养成良好的项目文件上传习惯
文章转自:http://ticktick.blog.51cto.com/823160/751582 项目组的学弟经常把一些.obj文件和debug目录上传到svn,这个习惯很不好,我说了很多次他总改不了,还是写个文档说清楚吧,以后查起来也方便。 svn是一种版本控制工具,主要目的是用来管理代码的各个版本的,养成一个好的版本库管理习惯对于软件开发会有很大的帮助。为了减小整个sv转载 2014-09-04 14:33:39 · 872 阅读 · 0 评论