#ifndef __GTL_STRINGBUILDER_H_
#define __GTL_STRINGBUILDER_H_#include <list>
#include <string>namespace gtl
{/* 字符串拼接类 */template <typename chr>class TLStringBuilder {private:typedef std::basic_string<chr> string_t;typedef std::list<string_t> container_t; // Reasons not to use vector below.//typename标志string_t::size_type是一个类型,并非属性typedef typename string_t::size_type size_type; /...
在C++语言编写的程序中,变量和函数等的作用范围是有一定限制的。比如,在函数体中定义的一个临时变量就不可以在函数体外使用。为了解决变量和函数等的作用范围,在C++语言中引入了名空间的概念,并增加了关键字namespace和using在一个名空间中可以定义一组变量和函数,这些变量和函数的作用范围一致,可以将这些变量和函数称为这个名空间的成员。通过名空间,可以在同一个文件中使用相同的变量名或函数名,只要它们属于不同的名空...
标准库的组成:
前言就到此为止。从最宏观的层面上看,C++标准库由十个部分组成:语言支持、诊断、通用工具、字符串、本地化、容器、迭代器、通用算法、数值算法和I/O。头文件组成: C++ 标准库一共包含 33 个C++ 头文件:<algorithm>,
<bitset>, <complex>, <deque>,
<exception>, <fstream>, <functional>, <iomanip>, <ios>, <iosfwd>,
<iostream>, <istream>,
<iterator>, <limits>, <list>, <locale>, <map>, ...
using namespace std; //using编译指令, 它会一次性把std空间中的所有实体全部引进来 //要求:熟悉空间中的实体 //目前来说,不推荐使用 namespace wd{ void display() { cout << "wd::display() " << endl; }}//end of namespace wdnamespace tls{ void display() { cout << "tls::display() " << endl; }}//end of namespace tlsint main(void){ wd::display();//:: 作用域限定...
1.构造器与结构体的区别:构造器多支持方法。其作用有申请内存,初始化变量。在c++中构造器没有返回值:语法Class Name(); 2.析构器的作用:释放内存。在c++中析构器没有返回值:语法~ClassName(); class Animal
{
public:std::string mouth;std::string name;void eat();void sleep();void drool();Animal(std::string theName);
};class Pig:public Animal
{
public:void climb();Pig(std::string theName);
};class Turtle:publ...
//抽象类的基本语法
#include<iostream>
usingnamespace std;/*
有关多继承的说明
被实际开发经验抛弃的多继承
工程开发中真正意义上的多继承是几乎不被使用的
多重继承带来的代码复杂性远多于其带来的便利
多重继承对代码维护性上的影响是灾难性的
在设计方法上,任何多继承都可以用单继承代替绝大多数面向对象语言都不支持多继承
绝大多数面向对象语言都支持接口的概念
C++中没有接口的概念
C++中可以使用纯虚函数实现接口
接口类...
原创,转载请注明出处。 为了熟悉vs环境、c++中的类写的链表 chainNode.h:#pragma once
#include<memory>
#ifndef CHAINNODE_H
#define CHAINNODE_H
using std::make_shared;
using std::shared_ptr;template <typename T>
struct chainNode
{T element;shared_ptr<chainNode> next;chainNode(const T &theElement){element = theElement;next = nullptr;}chainNode(const T &theElement, const shared_ptr<chainNode<T>> theNext)...
中文字在C/C++中的处理 现在编程的语言和编程环境随着中国的发展開始对中文有进一步的支持。可是对中文的支持整体来说是有缺陷的,并且有与编译环境的不同导致中文在当前的C/C++中有非常多问题,并且非常多版本号对中文的支持是不全然的。就拿DEV-C++和VS2005为例。对与MSDN的帮助和网上的讲述两者在那些代码的支持有非常多不同的地方。 而我要讨论的就是对于中文在C/C++的应用方法。首先中文字是在一般char的范围以外...
1 memset将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。 2 bz...
extern的用法:.cpp 1#include <iostream>using namespace std;extern int i;int main(int argc, char** argv) { cout << i << endl; return 0;}.cpp 2#include <iostream>int i = 100;注意:在测试的时候.cpp 2没有加头文件#include<iostream> 导致编译报错。另外的:const限定符除了将其修饰的对象变为常量对象外,还有其他的特点:1,因为const对象一旦创建后其值就不能改变,所以const对象必须初始化。2,默认状态下,const对象...
继承能将定义的新类包含有已有类的所有属性,这样能实现很多新的功能,实际运用上也更加方便。 已经存在的类叫做基类或父类,新建立的类叫做子类或派生类。一些概念:单继承(single inheritance)、多重继承(multiple inheritance)。直接继承,间接继承。继承具有传递性和非对称性。一、定义方法和派生类的构成单继承:
class 类名: 继承方式 基类名
{......
};多重继承:
class 类名: 继承方式 基类名1,继承方式 基类名2......
源码来自各大网友并非原创修改了部分函数 仅供参考(PE没源码参考应该是很吃力的)暂未更新完持续更新中.......PETools.h//函数头int GetFileLength(FILE *pf, DWORD *Length);
int ReadFileByPathToBuffer(IN LPSTR FilePath, OUT LPVOID* pFileAddress);
int PrintPEFileHeader(void* pFileAddress);
int PrintPESectionHeader(PVOID pFileAddress);
int WriteFileFromFileAddress(PVOID pFileAddress, DWORD FileSize, LPSTR Fi...
4 C++ Boost 正则表达式目录:
离线文档:
去除HTML文件中的标签:正则表达之检验程序:正则表达式元字符:锚点:匹配多个字母与多个数字标记:含有()一对小括号里面的东西,Boost中()不需要转译了?: 不被标记,不能被反向引用重复特性[贪婪匹配,尽量去匹配最多的]:? 非贪婪匹配[尽可能少的匹配]:流模式,不会回头,匹配就匹配了,为高性能服务:反向引用:必须存在被标记的表达式或条件:单词边界:命名表达式:注释:分支重设:正向预查:举例1:只是...
C++ 顺序表/***1顺序表1、必做题 编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值。编写主函数测试结果。 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。 如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号从0开始编号);如果不存在,返回-1。编写主函数测试结果。在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。解题思路:首先查找插入的位置,再移位,最后进行插入操作...
【C语言的Static inline 函数的作用】 【printf打印格式】%x 打印十六进制%d 打印十进制%b 打印二进制%c 打印字符%s 打印字符串%f 打印单精度float%lf 打印双精度double 【关于C++中的类型转换】dynamic_cast: 通常在基类和派生类之间转换时使用,把一个派生类转换为基类使用这个转换,run-time cast const_cast: 转换是去掉const变量的const, 主要针对const和volatile的转换. static_cast: 一般的转换,类似于C/C++里面的强制类...