C++
文章平均质量分 66
Alexander_Frank
本人初来乍到的小白一个,希望各路大神多多提点帮助。
对数据库,网页开发,C++和数据结构很感兴趣。
希望在分享经验的同时也能够得到大家的提点。
展开
-
C++中头文件嵌套定义问题
相信大家在做复杂的C++编程的过程中会被复杂的文件之间的关系所难倒。在编译文件时遇到这个或那个的非语法错误。这就需要仔细检查你的代码模块了。本小白在编写某个C++项目时遇到了这种编译错误。希望可以借鉴给更多的人,避免这种由头文件嵌套定义所导致的编译错误。注明:本文章主要内容是从互联网上各个博客或提问中摘录并整合而来。C++中头文件相互包含的几点问题首先我们从类的嵌套转载 2016-03-06 12:46:32 · 4114 阅读 · 1 评论 -
STL 容器的排序
1.sort函数,头文件#includetemplate class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last ); template class RandomAccessIterator, class Compare>转载 2016-09-01 17:54:54 · 487 阅读 · 0 评论 -
extern用法+assert用法
//当使用全局变量时,容易造成Link2005或Link2001的链接错误。根源在于全局变量。在一个cpp中定义 int app;全局变量在另一个cpp中需要使用该变量,则需要定义一下,extern int app;同时,也可以在.h文件中声明static、extern类型的变量,然后在包含该.h文件的.cpp文件中的任意一个文件中对该变量赋值。(仅一个文件中赋值)原创 2016-09-02 16:45:30 · 347 阅读 · 0 评论 -
关于类构造函数的问题+ void*的用法+#define构造泛型
class obj{public:obj(int t) :i(t){}obj(){obj(19);}int i;};int main(){obj a;cout system("pause");return 0;}以上并不输出19,由于在默认构造函数中调用带参数构造函数,并不会执行被调构造函数的具体内容。原创 2016-09-02 15:05:49 · 1269 阅读 · 0 评论 -
交换两个变量的值+int*[]与int(*)[]的辨析
交换两个变量的值,不使用第三个变量。即 a=3,b=5,交换之后 a=5,b=3; 有两种解法, 一种用算术算法, 一种用^(异或) a = a + b; b = a - b; a = a - b; or a = a^b;// 只能对 int,char.. b = a^b; a = a^b; or a ^= b ^= a;原创 2016-09-02 15:09:17 · 492 阅读 · 0 评论 -
C语言 信号处理机制
C语言中信号标示一种时间,它可能异步地发生,也就是并不与城市执行过程中的任何事件保持同步,如果程序中未设置该信号的处理函数,则选择缺省方式---大部分为终止程序运行。信号头文件同样可以显示引发一个信号: int raise(int sig);指定希望采取的措施: void (* signal(int sig, void (* handler) (int) ) )(in原创 2016-09-07 09:44:35 · 2173 阅读 · 0 评论 -
C语言 IO流操作
错误报告函数: void perror( char const *message ); 头文件stdio.h终止执行: void exit ( int status ); status = EXIT_SUCCESS和EXIT_FAILURE 头文件stdlib.hMS-DOS和UNIX都支持采用 $program answer 的方式进行输入输出重定向。从原创 2016-09-07 14:17:18 · 6960 阅读 · 0 评论 -
C、C++、C#面试总结
1.不可以用static与const同时修饰一个类成员函数或类成员。实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*,但是static修饰的成员函数无this指针。2.class A{private: int m_value;public: A(int value)原创 2016-09-08 16:14:06 · 634 阅读 · 0 评论 -
C++ 仿函数的分类
一,概述 仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 有些功能的的代码,会在不同的成员函数中用到,想复用这些代码。 1)公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变转载 2016-09-09 16:35:12 · 649 阅读 · 0 评论 -
C++ 仿函数
首先介绍一个简单的例子问题描述:struct stRecordItem{char szname[_MAX_NAME_LEN_]; //物品名称int dwBaseID; //基本ID int btItemLvl; //品阶int ncount; //数量__int64 i64Time; //记录这条信息的时间,如果有叠加的,按后一个的时间};li转载 2016-09-09 16:31:12 · 710 阅读 · 0 评论 -
字符串的前中后缀表达式,以及KMP算法。
本文主要涉及字符串的前中后缀表达式,以及KMP算法。首先如我们所知道的,在C++中,一个字符串有三种表达形式。前缀、中缀和后缀形式。区别在于:前缀表达式由操作数后面紧跟两个操作数构成的。如:*3 5 中缀表达式的操作数处于两个操作数之间。如:3*5 后缀表达式的操作数紧跟操作数,并处于末尾。如:3 5*我们再谈谈这三种表达形式的转换。原创 2016-03-07 13:43:54 · 1632 阅读 · 0 评论 -
C++ istringstream ostringstream stringstream 字符流操作函数
我们在编程过程中,有时候需要平凡操作字符流,如平凡的从字符流中读取或写入字符流等操作时,从系统的数据流中操作可能十分的复杂,这时我们可以使用C++中定义好的三个字符流操作函数来完成你所需要的工作。头文件#includeistringstream 控制字符输入类istringstream s1(s); ---------将字符串s存入s1转载 2016-03-11 19:51:15 · 992 阅读 · 0 评论 -
FLOYD算法
1.定义概览Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2)。1)算法思想原理: Floyd算法是一个经典的动态规划算法。用通俗的语转载 2016-05-06 10:44:59 · 406 阅读 · 0 评论 -
dijkstra算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。注意该算法要求图中不存在负权边。2.算法描述1)算法思想:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有转载 2016-05-06 11:19:51 · 484 阅读 · 0 评论 -
几个算法举例。
如何计算某个数x是否是2的幂次方?因为若y为2的幂,则为x=2^y。在2进制位的表示中在第y+1位上为1,其余为0.则(x-1)&x=0。即可以得出x是否为2的幂次方。原创 2016-05-06 10:20:04 · 1250 阅读 · 0 评论 -
C++细节总结
在C++的编程过程中,我遇见了C++中许多一般不为人所知的细节,或是小技巧。以下总结出来希望对大家编程有帮助。void*指针的使用:void型指针,void型指针可以用来接收任何类型的指针的值,如int* p=&a;void* q=p;但是void型包容任何其他类型,但其它任何类型不包容它。如void* p;float原创 2016-03-11 19:55:35 · 499 阅读 · 0 评论 -
虚函数
关于虚函数的背景知识用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。多态用虚函数来实现,结合动态绑定。纯虚函数是虚函数再加上= 0。并且该函数只有声明,没有实现。抽象类是指转载 2016-05-23 20:46:43 · 293 阅读 · 0 评论 -
函数重载、函数覆盖、函数隐藏之间的关系
函数重载、函数覆盖、函数隐藏之间的关系a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。c.“隐藏”是指派生类的函数屏蔽了与其转载 2016-05-23 21:26:19 · 405 阅读 · 0 评论 -
C语言,可变参数列表
示例:#include void simple_fun(int i, ...){va_list arg_ptr;int j = 0;va_start(arg_ptr, i);while (i!=0){j = va_arg(arg_ptr, int);printf("%d", j);i--;}va_end(arg_ptr);}int m原创 2016-09-07 10:27:46 · 376 阅读 · 0 评论