
C/C++
Bocai_Fire
这个作者很懒,什么都没留下…
展开
-
linux 中解析命令行参数 (getopt_long用法)
getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下: #include int getopt_long(int argc, char * const argv[], c转载 2011-10-14 14:25:46 · 604 阅读 · 0 评论 -
c语言字符串函数详解
c语言字符串函数详解 (百度文库) void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 如果s转载 2012-04-13 14:53:13 · 535 阅读 · 0 评论 -
c++异常处理
转自http://www.csharpwin.com/csharpspace/2683.shtml异常,通常是指程序困难检测到的,运行是不正常的情况,例如被0除,数组越界访问等等。异常处理的语法通常是 try{ throw()}catch(){} 关键字try以及它后的大括号中的内容我们称其为try块。简单的说,它包含的是可能会出转载 2012-05-30 10:25:30 · 567 阅读 · 0 评论 -
c++基础---构造(析构)函数调用次序(c++笔试经常考)
转自http://blog.youkuaiyun.com/richerg85/article/details/7592842基本的父子类:[cpp] view plaincopy#include using namespace std; class A { public: A()转载 2012-07-16 15:22:44 · 654 阅读 · 0 评论 -
[C/C++] const 详解(修饰变量、输入参数、返回值、成员函数)
转自 http://blog.xieyc.com/const-in-detail/看到const关键字,程序员首先想到的可能是const 常量。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多转载 2015-06-24 22:17:26 · 2360 阅读 · 1 评论 -
C++杂七杂八
一、extern "C" C++支持函数重载,C不支持。void foo(int x, int y) 函数被C编译后在库中的名字为_foo,在C++编译后库中名字类似_foo_int_int。 C++提供extern "C"解决名字匹配问题。二、 #define 注意:将表达式中的所有参数用括号括起来。e.g. #define MIN(A, B)原创 2015-06-24 22:46:03 · 594 阅读 · 0 评论 -
C++关键字或运算符
1. asm在C++代码中嵌入asm汇编代码。微软详述:__asm关键字启动内联汇编并且能写在任何c/c++合法语句之处.它不能单独出现.它必须接汇编指令、一组被大括号包含的指令或一对空括号.术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。以下代码片段是在括号内的一个简单的__asm块。__asm{ mov al, 2 mov dx原创 2015-06-30 07:37:39 · 2150 阅读 · 0 评论 -
C++虚函数
转自 http://blog.youkuaiyun.com/wuchuanpingstone/article/details/6742465C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比转载 2015-07-07 20:54:15 · 476 阅读 · 0 评论 -
c++友元函数和友元类
转自 http://www.cnblogs.com/greatverve/archive/2012/11/22/cpp-friend.html如果类A希望类B可以访问它的私有成员,可以把类B设置为友元类。// 类A,希望把私有成员公开给类Bclass A{ friend class B;// 把B设置为友元类public: A(int转载 2015-07-07 19:30:03 · 473 阅读 · 0 评论 -
Redis:安装、配置、操作和简单代码实例(C语言Client端)
转自 http://blog.youkuaiyun.com/hj19870806/article/details/8724907Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 如何安装Redis? Redis的官方下载站是http转载 2015-10-23 18:13:25 · 775 阅读 · 0 评论 -
c++ 连接mysql类
文章来源:http://hi.baidu.com/lbxthinker/blog/item/9b837b0f8a306fdb7acbe113.html connpool.h文件/***数据库连接池(单例模式)**@authour libingxiang**@email lbxthinker@gmail.com**/#ifndef CONN_POO转载 2016-01-03 17:15:40 · 855 阅读 · 0 评论 -
C++11:std::move和std::forward源码分析
转自 http://blog.youkuaiyun.com/zwvista/article/details/6848582std::move和std::forward是C++0x中新增的标准库函数,分别用于实现移动语义和完美转发。下面让我们分析一下这两个函数在gcc4.6中的具体实现。预备知识引用折叠规则:X& + & => X&X&& + & => X&X&转载 2016-01-07 17:13:29 · 669 阅读 · 0 评论 -
编程之美小结1——系统线程、进程、系统效能API
1. Sleep() :让当前线程停下来用 法: unsigned sleep(unsigned seconds); 在VC中使用带上头文件 #include 在gcc编译器中,使用的头文件因gcc版本的不同而不同 #include 注意: 在VC中Sleep中的第一个英文字符为大写的"S";在标准C中是原创 2012-03-15 08:53:09 · 1033 阅读 · 0 评论 -
C++中Static作用和使用方法
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定转载 2012-03-30 16:38:32 · 673 阅读 · 0 评论 -
关于endian
关于endian关于endian这个词Pconline上的解释如下:“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中转载 2011-10-10 10:41:37 · 624 阅读 · 0 评论 -
Unix线程基础编程pthread
进程fork的两个问题:1. fork过于昂贵,需要把父进程的内存映像拷贝到子进程2. fork返回之后父子进程之间信息的传递需要进程间通信(IPC)机制,子进程向父进程返回信息较困难线程可称为轻权进程。同一进程内的不同线程共享相同的全局内存,除此之外还共享: 进程指令、大多数数据文件、打开的文件(描述字)、信号处理函数和信号处置、当前工作目录、用户id和组i原创 2011-10-31 09:30:53 · 981 阅读 · 0 评论 -
eclipse 报错处理"undefined reference to `pthread_create’"
Eclipse + CDT:pthread_create函数编译时报错:undefined reference to`pthread_create’undefined reference to `pthread_create’undefined reference to `MD5′由于pthread 库不是 Linux 系统默认的库,连接时必需利用静态库libpthread.a,因转载 2011-10-31 17:04:07 · 2485 阅读 · 1 评论 -
vector中insert()的用法详解
iterator insert( iterator loc, const TYPE &val ); void insert( iterator loc, size_type num, const TYPE &val ); void insert( iterator loc, input_iterator start, input_iterator end ); insert() 函转载 2011-11-21 19:52:42 · 5255 阅读 · 0 评论 -
使用预处理器进行调试(调试常量命令,文件名、行号、编译时间、日期)
可以使用预处理变量来避免重复包含头文件。同样可以使用类似的技术有条件的执行用于调试的代码:程序所包含的调试代码仅在开发过程中执行。当应用程序已经完成,并且准备提交时,就会将调试关闭。可使用NDEBUG预处理变量实现有条件的调试代码:int main() {#ifndef NDEBUGcerr #endif//…如 果NDEBUG未定义,那么程序会将信息写到cer原创 2011-11-23 19:53:09 · 943 阅读 · 0 评论 -
C++ 求两数的最大公约数
求两整数的最大公约数:int gcd(int v1, int v2){while(v2){int tmp = v2;v2 = v1%v2;v1 = tmp;}return v1;}《C++ primer4》原创 2011-11-24 09:00:29 · 680 阅读 · 0 评论 -
关于alarm设置与Signal
通过alarm设置时钟,当达到设置的时候后收到alarm信号,然后通过longjmp和setjmp进行跳转,每次收到信号时都进行alarm(0)恢复,但是一共收到6次alarm信号左右就收不到了这是什么原因?现在我用测试代码试了一下,只能收到一次alarm信号:代码:#include #include #include #include #include #转载 2011-11-09 10:04:51 · 1510 阅读 · 0 评论 -
在vector中删除一个元素(转)
在vector中删除一个元素2009-02-12 17:30例如:class classA{public:int e;}vector; class_vector;如果要删除第三个,似乎只能按着下面这个方式进行class_vector.erase(&class_vector[2]);这种方法太麻烦了比如我要删转载 2011-12-28 10:15:08 · 1094 阅读 · 0 评论 -
vector::erase()方法的详细介绍及问题解答
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素vector::erase()方法有两种重载形式如下:iterator erase( iterator _Where);1.iterator erase( iterator _First, iterator _Last);如果是删除指定位置的元素时:返回值是一个迭代转载 2011-12-28 10:25:57 · 1663 阅读 · 0 评论 -
【C++专题】static_cast, dynamic_cast, const_cast探讨
转自 http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽转载 2012-03-28 20:36:21 · 531 阅读 · 0 评论 -
public、protected和private
很形象的一个说明,留着~~转自http://blog.sina.com.cn/s/blog_4a1f4666010096ur.html 说到public、protected和private三个修饰符,刚学C++时,被教教材上的那个表搞得晕晕忽忽的。曾几时为了考试还去背过那个表,现在想想真是哭笑不得。后来用得多了,就发现其实就是很简单的道理。 我们可以把转载 2012-03-30 10:03:20 · 2750 阅读 · 1 评论 -
glibc的几个有用的处理二进制位的内置函数
转自http://www.cnblogs.com/nysanier/archive/2011/04/19/2020778.html— Built-in Function: int __builtin_ffs (unsigned int x)Returns one plus the index of the least significant 1-bit of x, or转载 2016-03-26 13:39:02 · 717 阅读 · 0 评论