Linux_C++
文章平均质量分 58
JoeBlackzqq
爱好网络软件的开发,更喜欢结交志同道合的朋友!
展开
-
对STL的string进行格式化输出
突然遇到需要对一个string类型的变量进行格式化输出,一时不知道怎么做。google了一下,终于找到了答案。ostringstream os; os string s = os.str(); 所需头文件:#include sstream>原创 2011-10-12 10:03:43 · 2727 阅读 · 0 评论 -
STL::map默认会按照.first的字母顺序排列
看个代码:// map默认会按照.first的字母顺序排列#include #include #include using namespace std;int main(){ map map1; map::iterator mapit; map::iterator saveit; map1["fab"] = "2原创 2011-10-24 16:22:03 · 2262 阅读 · 2 评论 -
STL容器的capacity()和reserve()演示-----vector
#include #include using namespace std;int main(){ vector v; cout<<v.size()<<", "<< v.capacity()<<endl; v.reserve(12); for(int i = 0; i < 13; i++) // 超出vector本身容量后,会导致capacit原创 2011-11-16 17:03:27 · 700 阅读 · 0 评论 -
[Linux] undefined reference to `itoa'
在linux写了个简单的C程序,里面用到了itoa,但是编译时提示“undefined reference to `itoa'”,本以为加上-lc就行了,可结果还是一样。上网发现,有人说这个函数在linux中是不存在的,一般用sprintf来代替。看下面代码及注释吧:#include #include //#include #include int num = 0;ch原创 2011-11-04 11:14:20 · 21143 阅读 · 2 评论 -
顺序容器STL::list用法
C++ Code:// 顺序容器STL::list用法#include#include #include #include using namespace std;void appendItems(list &li, int n){ for(int i = 0; i < n; i++) { li.push_back(i+1); }}原创 2011-11-09 22:23:33 · 1038 阅读 · 0 评论 -
结构体继承自结构体
C++ Code:/* 功能:结构体继承自结构体 结论: 1. 结构体可以继承自结构体 2. 结构体同样有构造函数和析构函数*/#include using namespace std;struct MNode{ int val; MNode() { val = 10; cout<<"MNode(): "<<val原创 2011-12-23 15:13:29 · 7933 阅读 · 1 评论 -
C/C++字节对齐问题
From: http://blog.csdn.net/alex_bn/article/details/6770788 首先来看下在C/C++中定义如下的结构体,然后对他们分别进行sizeof()运算,看看结果会如何struct A{ int a; char b; short c;};struct B{ char b转载 2011-12-28 09:13:51 · 970 阅读 · 2 评论 -
自动化测试中Python与C/C++的混合使用
From: http://hi.baidu.com/sacmelody/blog/item/cf3ee7088d2112f036d12289.html背景 项目的自动化测试中已经使用了基于Python脚本的框架,自动化过程中最关键的问题就是如何实现桩模块。运用 Python 强大的功能,实现任何桩模块都是可能的,但是是否必须完全使用 Python 实现模块逻辑,成本是一个决定性因转载 2011-12-31 11:17:15 · 1237 阅读 · 0 评论 -
C++真的能够王者归来吗?
From: http://blog.csdn.net/adwu73/article/details/7230048C++真的能够王者归来吗? @吴穹Adam 我个人认为不太可能!因为不能光看C++改进了什么,有什么优点?而要看环境,看对手! 这篇博客不想写太长,提出一些点供大家参考: 1.中间件的力量:在现在的江湖里面,语言已经唱独角戏了,而是必须有中间转载 2012-02-13 10:02:09 · 697 阅读 · 0 评论 -
c++空类实例大小不是0原因
From: http://blog.csdn.net/hitblue/article/details/3726754初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟转载 2012-02-17 12:43:08 · 619 阅读 · 0 评论 -
non-aggregates cannot be initialized with initializer list
From: http://blog.csdn.net/sp_daiyq/article/details/7008990我定义了一个结构体,示意如下:[cpp] view plaincopyStruct A { int x; CString test; }; 然后我定义一个变量同时对其进行串行初始化:A a = {0,转载 2012-02-18 20:29:39 · 1664 阅读 · 0 评论 -
对vector中的数据排序
要求:从文件fin中读取数据,每行的格式如"王明 85",代表"姓名 成绩",具体有多少行不确定。按成绩从大到小排序,将结果写入文件fout./* 功能:从文件fin中读取"name grade",并按照grade从大到小排序 经验:操作vector也可以像操作普通数组一样操作(使用下标),前提是没有结点的删除或增加*/#include #include #include原创 2012-03-03 17:51:04 · 3317 阅读 · 0 评论 -
C++调用Python函数
From: http://www.flatws.cn/article/program/c/2010-08-24/9677.html Python代码在实现某些功能的时候非常方便,如果能够将Python代码与C++程序结合起来,那么一定会使Problem Solving方便许多(比如,游戏脚本系统)~ 从学完Python开始就一直想研究一下C++内嵌Python是怎么回转载 2012-03-24 22:21:52 · 1339 阅读 · 0 评论 -
典型的 C++ 程序员成长经历
From:http://blog.csdn.net/breakerzy/article/details/7399872一个典型的 C++ 程序员成长经历:1. 完整的学一遍 C++ 所有语言特性,典型书籍 "The C++ Programming Language" Part1, Part2, "C++ Primer" 感觉 C++ 像大杂烩(多编程范型),各种精妙的语转载 2012-04-01 09:59:50 · 622 阅读 · 0 评论 -
c++类模板及参数类型的运行时判断
/* C++类模板及参数类型的运行时判断(typeid)*/#include #include #include using namespace std;templateclass Exercise{ public: typedef T Type; typedef vector VT; Exercise(int n); void Display(); p原创 2012-04-14 15:17:55 · 9707 阅读 · 0 评论 -
显示当前行号、文件名和函数名(二)
为了测试__FILE__, __LINE__, __FUNCTION__, 又写了一个C++版本的测试程序,源码如下:#include #include using namespace std;class CUser{private: int m_nId; string m_sName;public: CUser(int id, string name); ~CUse原创 2011-10-21 14:18:12 · 2143 阅读 · 1 评论 -
带可变参数的宏函数和普通函数实现
From:http://www.vimer.cn/2010/03/cc%E5%AE%8F%E5%AE%9A%E4%B9%89%E7%9A%84%E5%8F%AF%E5%8F%98%E5%8F%82%E6%95%B0.html编写代码的过程中,经常会输出一些调试信息到屏幕上,一般会调用printf这类的函数。但是当调试解决之后,我们需要手工将这些地方删除或者注释掉。再这次的项转载 2012-07-07 12:56:50 · 1474 阅读 · 0 评论 -
sockaddr和sockaddr_in的区别
From: http://www.it165.net/pro/html/201211/4066.html初学者很容易对二者有困惑的感觉,下面来讲一下二者的区别。sockaddr是在头文件 /usr/include/bits/socket.h 中定义的,如下: view sourceprint?1.structsockaddr2.{3.__SOCK转载 2012-12-05 10:01:44 · 40628 阅读 · 4 评论 -
C++命名规则
From: http://www.360doc.com/content/12/0809/19/9290626_229273185.shtml/结构除了异常类等个别情况(不希望用户把该类看作一个普通的、正常的类之情况)外,C++类/结构的命名应该遵循以下准则:C++类/结构的命名类的名称都要以大写字母“C”开头,后跟一个或多个单词。转载 2013-03-15 11:54:37 · 1186 阅读 · 0 评论 -
C++ 虚函数表解析
From: http://www.cnblogs.com/azraelly/archive/2013/01/18/2865869.html前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试转载 2013-03-16 11:22:58 · 644 阅读 · 0 评论 -
C++之deque
From: http://blog.csdn.net/zxjzxj521/article/details/81729531 什么是STL STL就是C++ Standard Template Library,也就是标准模版库,是一个高效的C++程序库。STL包含六大组件:容器(container)、算法(algorithm)、迭代器(iterator)、配置器(a转载 2013-06-08 19:40:51 · 833 阅读 · 0 评论 -
gcc -E 产生预编译后的文件
利用gcc -E选项,可以得到预编译后的文件。这可以得到宏展开后的文件。先来看看几个相关联的文件吧!#ifndef __DEFS_H__#define __DEFS_H__#ifdef WIN32 #define snprintf _snprintf#endif// Join two variables#define MACRO_JOIN( X, Y ) MACRO_D原创 2013-06-06 22:40:08 · 4953 阅读 · 0 评论 -
C++的JSON库及使用方法
From: http://blog.csdn.net/moruite/article/details/7310976VC没有自带的JSON库,所以分享一下如何使用该库http://download.csdn.net/detail/moruite/41047041. json.h头文件包含了如下API[cpp] view plaincopy转载 2013-06-06 23:14:00 · 10534 阅读 · 1 评论 -
C++笔记(1)explicit构造函数
From: http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值转载 2013-06-03 21:20:30 · 678 阅读 · 0 评论 -
C++类模板的三种特化类型
From: http://blog.sina.com.cn/s/blog_65d069c601010fb3.html说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。这里用一个简单的例子来说明这三种情况转载 2013-06-14 22:36:23 · 999 阅读 · 0 评论 -
函数模板特化(一)
/* 演示: 模板函数及其特化函数的使用*/#include #include #include #include using namespace std;templateT add(T n1, T n2) // 通用模板函数{ return n1 + n2;}//template<> int add(int n1, int n2) // 模原创 2013-06-14 22:28:55 · 1147 阅读 · 0 评论 -
类模板特化之经典(一)
#include using namespace std;templateclass sum{ public: enum { number = x + sum::number };};template<>class sum // 模板特化1{ public: enum { number = 0 };};template<>class sum原创 2013-06-14 22:33:48 · 1052 阅读 · 0 评论 -
关于__attribute__ ((packed))
#include using namespace std;typedef struct{ unsigned char ver; unsigned char cmd; unsigned short id; unsigned short retcode;}__attribute__ ((packed)) ACKPACK_CMD;struct my{ char ch; i原创 2013-06-06 20:01:28 · 1036 阅读 · 0 评论 -
typedef和#define的作用域问题
#include using namespace std;class A{#define MAX 5 // 宏定义是全局的,因为在预编译时就替换掉了public: typedef unsigned long ULONG; // 作用域局限在这个类中, 且有修饰符private: int _n; ULONG _age;public: A(int n, ULO原创 2013-06-06 20:06:19 · 1535 阅读 · 0 评论 -
c++ 函数名后面的const
From: http://blog.csdn.net/jianguo_liao19840726/article/details/8239984[html] view plaincopy#include string> #include iostream> using std::string; using std::cin; using std转载 2013-06-06 23:07:55 · 1738 阅读 · 0 评论 -
__attribute__机制介绍
From: http://blog.csdn.net/sunboy_2050/article/details/65667391. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性转载 2013-06-06 23:10:57 · 805 阅读 · 0 评论 -
使用 C++ 处理 JSON 数据交换格式
From: http://blog.csdn.net/xt_xiaotian/article/details/5648388使用 C++ 处理 JSON 数据交换格式 一、摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据转载 2013-06-06 23:02:38 · 1562 阅读 · 0 评论 -
C++使用Json作为数据包装格式的通信
From: http://blog.sina.com.cn/s/blog_4ae178ba01014eve.htmlhttp://blog.csdn.net/chenziwen/article/details/5785932Json大家都耳熟能详了吧?现在Json广泛用于各类通信,特别是基于Http协议的通信,一般的服务端动态脚本语言都有库支持Json的编码与解码。但很少有听过转载 2013-06-06 23:11:56 · 1741 阅读 · 0 评论 -
_attribute_((packed))
From: http://blog.csdn.net/wesleyluo/article/details/7565165_attribute_((packed))1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑转载 2013-06-06 23:01:34 · 760 阅读 · 0 评论 -
gcc -E(二)
From: http://hi.baidu.com/piao123521/item/d8609f430f186dae60d7b9581 # 1 "1.c" 2 # 1 "" 3 # 1 "" 4 # 1 "1.c" 5 # 1 "/usr/local/arm/4.2.2-eabi//usr/include/stdio.h" 1 3 4 6转载 2013-06-06 23:04:59 · 921 阅读 · 0 评论 -
STL学习小结
From: http://blog.csdn.net/byxdaz/article/details/4633826STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和转载 2013-06-17 23:12:04 · 850 阅读 · 0 评论 -
回调函数示例(一)
// callbackFun.h#ifndef __CALLBACK_FUN_H__#define __CALLBACK_FUN_H__typedef unsigned char byte;typedef int (__stdcall *CompareFunction)(const byte*, const byte*); // define callback function ty原创 2013-06-08 20:09:00 · 1117 阅读 · 0 评论 -
undefined reference to `vtable for XX::XX'
From: http://mylovejsj.blog.163.com/blog/static/386739752009010043162/在Qt中会一不小心遇到一个编译错误:"undefined reference to `vtable for...", 如果你是第一次遇到这种问题还真不知怎么办?到网上一搜,很多什么关于解决这个错误的总结,也不一定顶用。我昨天遇到这个问题,找大半天,转载 2013-07-09 11:12:15 · 1085 阅读 · 0 评论 -
纯虚函数--抽象类中的this到底指的是哪个子类实例呢
抽象类中的this到底指的是哪个子类实例呢?请看代码:thread.h#ifndef __THREAD_H__#define __THREAD_H__#include #define PATTERN_SINGLETON_DECLARE(classname) \private: \ classname(); \public:原创 2013-07-09 13:48:23 · 1920 阅读 · 0 评论 -
注意vector, list, set, map成员函数erase
From: http://blog.csdn.net/tujiaw/article/details/7770498[cpp] view plaincopy#include #include #include #include using namespace std; void Remove1(vectorint> &vec, i转载 2013-07-03 15:37:05 · 1301 阅读 · 0 评论