Giskard

(三十七)XML编程

C/C++
XMLXML(EXtensible Markup Language)可扩展标记语言。本想设计为取代HTML 实际上应用较为简单,够不上语言的级别 XML是一个数据格式,比如下面 <?xml version="1.0" encoding="GBK"?> <root> < ...
Read more

(三十六)函数指针与回调机制

C/C++
函数指针不只变量有地址,函数也有地址 void example(int n) { printf("%d\n",n); } int main() { //打印函数的地址 printf("%08X\n",&example); //printf("%p\n" ...
Read more

(三十五)动态库与静态库

C/C++
动态库考虑两个问题: 我们都知道printf函数只有在引用头文件include<stdio.h>才能使用,但当我们查看<stdio.h>时可以发现里面只有对printf的声明而没有对他的定义,对他的定义在哪 你发明一个有价值的算法,想让别人使用但又不想把核心代码公布 ...
Read more

(三十四)中文问题

C/C++
####ASCII码 ASCII码就是一个字符集,0-127之间,最高位0 每一个字符都对应一个数字 ‘A’ == 65 ‘0’ == 48 字符集都由一些组织制定发布,例如ISO/IEC,ASCII码的字符集编号为ISO/IEC 646 拉丁字符集Latin包括希腊字母,Latin-1是西 ...
Read more

(三十三)位操作

C/C++
一个字节由8个位表示,0000 0000 == 0 == 0x00,0000 0001 == 1 == 0x01……1111 1111 == 255 == 0xFF 从左到右称为bit7,bit6,bit5…bit0 引例1舞台上有8盏灯,用1表示亮,0表示灭 第一种方法 int stat ...
Read more

(三十二)单步调试技术

C/C++
编译错误与运行错误 编译错误:编译器提示的错误,低级错误,语法有错,根本无法生成exe文件 运行错误:程序运行的结果与预期不一致,说明程序不对,存在bug,需要修改 一般情况下,能复现的错误都是可以解决的 单步调试单步调试就是在要调试的代码段首行加断点,走一步看一下结果,边走边观察,直 ...
Read more

(三十一)异常

C/C++
所谓异常就是发生了不该发生的事 比如除法函数,当用户输入分母为0的时候除法没有意义,就要提示分母不得为零 在C/C++中,有两种方式处理异常,一种最常用,错误码方式,在执行成功的时候返回0,在产生不同异常的时候返回不同的错误码。 if(异常A) { return -10; } if ...
Read more

(三十)标准模板库STL

C/C++
一般使用方法 很少需要自己定义一个模板,只需要使用现成的模板库即可,STL就是频繁使用的一个库 STL封装了几乎所有常见的线性数据结构 模板 意义 vector 一维向量,相当于数组 list 链表 map 映射。提供(key,value)操作,相当于哈希表 ...
Read more

(二十九)模板

C/C++
函数模板 为了表达一个通用的算法或逻辑 //求最大值 int max(int arr[],int len) { ... } double max(...) { ... } Object max(...) { ... } 上面三个要表达的算法都是相同的,唯一区别就是 ...
Read more

(二十八)内部类和名字空间

C/C++
把一个类定义在另一个类的内部,就称为内部类。内部类可以有效避免名字冲突问题。而名字空间是解决该问题的终极解决方案,内部类较为常用,名字空间不太常用。 内部类class A { public: //定义内部类 class B { public: ...
Read more

(二十七)重载操作符

C/C++
重载操作符能使得一个自定义类型可以像基本类型一样支持加减乘除等多种操作 引例引入struct/class可以允许用户自己定义数据类型,但是自定义类型相比基本类型还是有些不足。 自定义类型不能进行加减乘除 //用fraction表示分数 class Fraction { public: ...
Read more

(二十六)朋友成员

C/C++
引例class Object { public: Object(int v) : value(v) { } private: int value; }; //定义全局函数Test void Test(Object* p) { printf("%d" ...
Read more

(二十五)静态成员

C/C++
static定义全局变量//Object.h class Object { public: static int number; }; //Object.cpp #include "Object.h" int Object::number = 1; //main.cpp #inc ...
Read more

(二十四)拷贝构造函数

C/C++
定义 拷贝构造函数是一种特殊的构造函数 函数名是类名,没有返回值,没有返回值,参数形式固定 class Object { public: Object(const Object& other) { } }; Object b; Object a(b);/ ...
Read more

(二十三)继承

C/C++
继承的概念当类B继承于类A时,则A的部分成员在B类中自动获得。 class A { }; class B : public A { }; 把A称为父类(基类),B为子类(派生类) 访问修饰符protected 该成员不能被外界访问(包括main函数) 该成员可以被子类继承 成员函数的 ...
Read more
Prev Next