随笔分类 - C/C++
摘要:如果找工作的同学看一些面试的书,我相信都会遇到这样的题:sizeof 不是函数,然后举出一堆的理由来证明 sizeof 不是函数。在这里,和 sizeof 类似,new 和 delete 也不是函数,它们都是 C++ 定义的关键字,通过特定的语法可以组成表达式。和 sizeof 不同的是,sizeo...
阅读全文
摘要:C++中有函数重载这种方法,以供我们调用时要可以不确定实参的个数,其实 C 语言也可以,而且更高明!我们在stdio.h 中可以看到 printf() 函数的原型:int printf(char * format,...)事实上,我们如果要写这样的函数也可以类似的写,那么在定义函数时用上这个符号“ ...
阅读全文
摘要:1 unsigned int i=3;2 cout 2 #include 3 int main(void) 4 { 5 char a[1000]; 6 int k = 0; 7 for (; k 2 3 int main(void) 4 { 5 unsigned a = 10; 6...
阅读全文
摘要:头文件#include 函数实现templateInputIterator find (InputIterator first, InputIterator last, const T& val){ while (first!=last) { if (*first==val) retu...
阅读全文
摘要:transform函数的作用是:将某操作应用于指定范围的每个元素。transform函数有两个重载版本:transform(first,last,result,op);//first是容器的首迭代器,last为容器的末迭代器,result为存放结果的容器,op为要进行操作的一元函数对象或sturct...
阅读全文
摘要:将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并 没有提供这个方法。自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便。打个比方:早上起来想吃个汉堡,冰箱里有生牛肉,有面粉,也有微波炉, 是可以自己做的,但是实在是太费事,没几个人愿意做。但是,打个电话给肯...
阅读全文
摘要:1。map简介map是一类关联式容器,它是模板类。关联的本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置类获取。它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什么影响。对于迭代器来说,不可以修改键值,只能修改其对应的实值。2。map的功能自动建立Key...
阅读全文
摘要:Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同1.定义(构造):1 pair p1; //使用默认构造函数2 pair p2(1, 2.4); //用给定值初始化 3 pair p1= make_pair(5,6); // 用make_pair构...
阅读全文
摘要:sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... );除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。printf 和sp...
阅读全文
摘要:1 为了区分C++标准库中的bitset数据结构,在本程序中使用_bitset。 2 3 如果设置_bitset的长度为4,则可操作的位为0-3。 4 5 //_bitset.h 6 7 #ifndef _BITSET_H 8 #define _BITSET_H 9 10...
阅读全文
摘要:函数名: scanf功 能: 执行格式化输入用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: s...
阅读全文
摘要:有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的u...
阅读全文
摘要:(转)前言 C++中 的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术 可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTT...
阅读全文
摘要:如果非要使用函数指针来申请内存空间,那么需要使用指向指针的指针createNode(BinNode**tree,char*p){*tree=(BinNode*)malloc(sizeof(BinNode));}使用二级指针就可以了。还有有另外的一种方案,通过函数返回值传递动态内存:BinNode*c...
阅读全文
摘要:虚继承是为了在多继承的时候避免引发歧义,比如类A有个就是a,B继承了A,C也继承了A,当D多继承B,C时,就会有歧义产生了,所以要使用虚拟继承避免重复拷贝。虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数,这就是多态性,也叫动态编联虚函数继...
阅读全文
摘要:void *memset(void *s, int ch, unsigned n);将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。 char buffer[] = ...
阅读全文
摘要:C++中substr()函数用法 substr(起始位置,长度);函数assign()常用在给string类变量赋值.常用方法有:1,直接用另一个字符串赋值.如str2.assign(str1);即用str1给str2赋值.2,用另一个字符串的一个子串赋值如str3.assign(str1, 2...
阅读全文
posted @ 2015-06-30 18:58
balingybj
摘要:static的内部机制: 静态数据成员要在程序一开始运行时就必须存在。因为函数在程序运行中被调用,所以静态数据成员不能在任何函数内分配空间和初始化。 这样,它的空间分配有三个可能的地方,一是作为类的外部接口的头文件,那里有类声明;二是类定义的内部实现,那里有类的成员函数定义;三是应用程序...
阅读全文
摘要:void (*pFn)(void) // 定义了一个函数指针,该函数指针指向类似于void Foo(void)函数的函数入口地址 typedef void (*Fun)(void) // 表示用户自己定义了一个函数指针数据类型 Fun pf; // 表示定义了一个函数指针pf,改函数指针指向类似于v
阅读全文

浙公网安备 33010602011771号