文章分类 -  CPP

关于POD的只言片语
摘要:from:http://blog.csdn.net/aladdina/article/details/3953552POD:全称是“Plain Old Data”,是C++ 98标准(ISO/IEC 14882, first edition, 1998-09-01)中引入的一个概念,主要目的是兼容C和C++语言中对数据的比较。实质上POD类型主要包括int, char, float等原始类型及其集合类型(aggregate class)。参见:http://en.wikipedia.org/wiki/Plain_Old_Data_Structureshttp://www.fnal.gov/do 阅读全文

posted @ 2013-03-26 15:38 Orz.. 阅读(153) 评论(0) 推荐(0)

CPP Standardization
摘要:from :http://en.wikipedia.org/wiki/C%2B%2BStandardizationYearC++ StandardInformal name1998ISO/IEC 14882:1998[18]C++982003ISO/IEC 14882:2003[19]C++032007ISO/IEC TR 19768:2007[20]C++TR12011ISO/IEC 14882:2011[21]C++11In 1998, the C++ standards committee (theISO/IECJTC1/SC22/WG21working group) standardi 阅读全文

posted @ 2013-01-22 09:16 Orz.. 阅读(164) 评论(0) 推荐(0)

位移运算符"<<"与算术运算符"+"的优先级问题
摘要:一个优先级问题查了一个上午,主要是位移运算符"<<"与算术运算符"+"搞混了 #include <iostream> #include <vector> #include <string> //#include <time.h> #include <ctime> using nam... 阅读全文

posted @ 2013-01-15 15:18 Orz.. 阅读(564) 评论(0) 推荐(0)

C语言运算符优先级 详细列表
摘要:http://www.slyar.com/blog/c-operator-priority.html文章作者:姜南(Slyar)文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符- 阅读全文

posted @ 2013-01-15 15:10 Orz.. 阅读(135) 评论(0) 推荐(0)

C、C++中的日期和时间 time_t与struct tm转换
摘要:from:http://feiqiang.iteye.com/blog/353832C、C++中的日期和时间 time_t与struct tm转换博客分类:C&C++CC++C#数据结构IT厂商一.概念Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说 阅读全文

posted @ 2013-01-09 14:44 Orz.. 阅读(438) 评论(0) 推荐(0)

remove_copy_if替代copy_if
摘要:http://www.cnblogs.com/oomusou/archive/2006/12/11/588730.html其实11是出了copy_if了...如何使用remove_copy_if() algorithm? (C/C++) (STL)copy() algorithm是很好用的algorithm,但偏偏就是沒有copy_if(),但透過remove_copy_if()則可達到相同的要求。remove_copy_if()的思考方式和copy_if()相反,若UnaryPredicate為true,則不copy,若為false,則copy。此範例demo若為remove_copy_if 阅读全文

posted @ 2013-01-05 22:03 Orz.. 阅读(418) 评论(0) 推荐(0)

C++ inheritance - inaccessible base?
摘要:http://stackoverflow.com/questions/4847100/c-inheritance-inaccessible-baseI seem to be unable to use a base class as a function parameter, have I messed up my inheritance?I have the following in my main:int some_ftn(Foo *f) { /* some code */ };Bar b;some_ftn(&b);And the class Bar inheriting from 阅读全文

posted @ 2012-10-29 20:51 Orz.. 阅读(316) 评论(0) 推荐(0)

C++子类显示调用父类的构造函数
摘要:fromhttp://blog.csdn.net/stone688598/article/details/44366572009-08-12 00:04 7469人阅读 评论(2) 收藏 举报加入有父类是这样定义的: [cpp] view plaincopyclass CA { public: CA() { cout << "using ca's constractor/n"; } CA(int k) {cout << "using ca's 2nd constractor, k is " << k & 阅读全文

posted @ 2012-10-27 14:50 Orz.. 阅读(1226) 评论(0) 推荐(0)

iconv C++封装
摘要:from:http://cpp.ezbty.org/page/iconv_c%E5%B0%81%E8%A3%85iconv是GNU的一个库和软件,它在LGPL3或GPL3下发布,功能是进行字符编码集之间的转换,它支持大量的字符集,并且是一个可移植的库和程序。libiconv库已经非常简单了,然而由于它过于简单,使得它的一个接口函数功能太多,这让人们想到C标准库那个功能太多而难以使用的“realloc”函数,所有有许多决定写简单的封装。当然libiconv是一个C语言库,对习惯C++的编程风格的人们可以有一些不习惯了,所以我们在这里也决定写一个封装。需求分析这里我们不想随便写一个类或接口来完成这 阅读全文

posted @ 2012-10-15 15:51 Orz.. 阅读(1929) 评论(0) 推荐(0)

UTF-8版的strlen
摘要:from :http://wangcong.org/blog/archives/357在这里看到这么一个计算UTF-8字符串长度的程序:PLAIN TEXTC:intmy_strlen_utf8_c(char*s){inti=0, j=0;while(s[i]){ if((s[i]&0xc0)!=0x80)j++; i++;}returnj;}不解。查wikipedia,得一表:00000000 00000000 0zzzzzzz 0zzzzzzz00000000 00000yyy yyzzzzzz 110yyyyy 10zzzzzz00000000 xxxxyyyy yyzzzzzz 阅读全文

posted @ 2012-10-15 13:49 Orz.. 阅读(699) 评论(0) 推荐(0)

转udp 超时设置(select函数的一种用法)
摘要:fromhttp://www.cnblogs.com/liang-hk/archive/2012/04/28/2475199.html最近项目中,需要编写一个udp接收程序。传统的recvfrom是阻塞进行的,即调用recvfrom之后程序就会阻塞,等待数据包的到来,如果没有数据包,程序就永远等待。在很多场景中,我们需要设置超时参数,如果该套接口超时之后仍然没有数据包到来,那么就直接返回。socket编程中这样的超时机制可以使用select和recvfrom这两个函数实现实现代码如下1 #define RECV_LOOP_COUNT 100 2 int recv_within_time(int 阅读全文

posted @ 2012-09-07 16:56 Orz.. 阅读(2414) 评论(0) 推荐(0)

[转] Effective c++学习笔记——条款07:为多态基类声明virtual析构函数
摘要:fromhttp://blog.csdn.net/wallwind/article/details/6762174[置顶]Effective c++学习笔记——条款07:为多态基类声明virtual析构函数分类:C/C++学习2011-09-09 00:393420人阅读评论(25)收藏举报Declare destructors virtual in polymorphic base classes1、为什么要申明虚函数 C++程序设计中通常会存在一个基类有多个派生类型,而基类中的存在的大都是纯虚函数,需要派生类型实现。而这样的情况下,通过使用factory模式返回一个基类型的指针。在C++中 阅读全文

posted @ 2012-08-30 11:46 Orz.. 阅读(141) 评论(0) 推荐(0)

论优越感
摘要:from http://www.cppblog.com/airtrack/archive/2012/05/20/174999.html论优越感vimer、emacser的优越感曾几何时,刚学编程没多久,网上看到一群“牛人”吹嘘说世界上有三种编辑器:一种是vim,一种是emacs,一种是其它。当时看到各种介绍vim和emacs的文章都是顶礼膜拜的,希望自己哪天也能成为那种能玩的动“神器”。一直是水平不够或者其它原因,没学会。3年多前看到一个vim的视频,当时下狠心终于把vim学会了,当然有之前一两年断断续续学vim的基础的帮助。自从学会了vim之后我也加入到了vimer行列,终于学会了“神器”编 阅读全文

posted @ 2012-08-21 15:30 Orz.. 阅读(250) 评论(0) 推荐(0)

STL vector....详解
摘要:fromhttp://hi.baidu.com/learnfordba/blog/item/93b5f12249d5104593580714.htmlvector 抽象容器类型之一(还有list和deque等),与其他几中容器类型不同的是它高效支持随机访问其中的元素。 使用vector,首先必须调用头文件(#include <vector>) 它的声明和初始化是这样的 vector <类型名> 变量名 vector <int> vi = ( 10 , 1 ) //初始化为10个元素的vector,每个元素都为1使用迭代器标识: vector <int& 阅读全文

posted @ 2012-08-17 14:09 Orz.. 阅读(227) 评论(0) 推荐(0)

c++string转int
摘要:string s ="0xffff";int t =0; sscanf(s.c_str(),"%x",&t); 阅读全文

posted @ 2012-08-14 16:28 Orz.. 阅读(145) 评论(0) 推荐(0)

C++调用C的接口
摘要:fromhttp://www.cnblogs.com/JerryWang1991/articles/2197794.html C++调用C的库函数时,如果头文件定义得不恰当,可能会出现明明某函数在obj文件中存在,但是却发生链接失败的情况,出现如下错误: undefined reference to 'xxx' 出现问题的原因是c库函数编译成obj文件时对函数符号的处理和C++不同。因为C++函数支持重载,所以函数符号的处理要更复杂一些,c往往不作修饰。 例如有函数:/* dofunc.c */#include <stdio.h>intdofunc(){printf 阅读全文

posted @ 2012-08-08 19:10 Orz.. 阅读(508) 评论(0) 推荐(0)

GCC 仅语法仅测 -fsyntax_only
摘要:http://www.blogjava.net/ivanwan/archive/2005/08/04/9338.htmlgcc警告和出错消选项不符合ANSI/ISO的源代码/**pedant.c - use -ansi, -pedantic or -pedantic-errors*/#include <stdio.h>void main(void){long long int i = 0l;printf("This is a non-conforming c program\n");}使用gcc pedant.c -o pedant这个命令时,编译器会警告mai 阅读全文

posted @ 2012-07-15 21:45 Orz.. 阅读(1030) 评论(0) 推荐(0)

-D_REENTRANT 宏作用
摘要:http://www.cnblogs.com/cute/archive/2011/09/15/2177238.html-D_REENTRANT 宏作用2._REENTRANT宏在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序,通过定义宏_REENTRANT来告诉编译器我们需要可重入功能,这个宏的定义必须出现于 阅读全文

posted @ 2012-07-15 20:43 Orz.. 阅读(216) 评论(0) 推荐(0)

linux没有GetLastErr但可以用strerror(errno)gg
摘要:不知道是否线程安全呢>一般我就是#include <errno.h>...printf("%S\n", strerror(errno)); 阅读全文

posted @ 2012-07-15 20:40 Orz.. 阅读(169) 评论(0) 推荐(0)

sockaddr_in , sockaddr , in_addr区别
摘要:from http://blog.csdn.net/jackychu/article/details/4461927sockaddr_in , sockaddr , in_addr区别2009-08-19 10:347428人阅读评论(5)收藏举报sockaddr_in,sockaddr,in_addr区别struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换 struct sockaddr_in { short .. 阅读全文

posted @ 2012-07-08 10:19 Orz.. 阅读(1087) 评论(0) 推荐(0)

导航