C语言学习
文章平均质量分 61
taozi1234567
这个作者很懒,什么都没留下…
展开
-
面向对象的static关键字(类中的static关键字)
面向对象的static关键字(类中的static关键字)1静态数据成员在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。//Example 5#include class Myclass{public: Myclass(int a,int b,int c); void GetSum();p转载 2015-03-06 17:06:33 · 374 阅读 · 0 评论 -
C++之类的前置声明
在使用前置声明时,只能使用指针或者引用,因为在这原创 2014-10-18 14:59:38 · 404 阅读 · 0 评论 -
C++之 private public protect访问控制以及继承关系
private :私有控制符。这类成员只能被本类中的成员函数和类的友元函数访问。protect:受保护控制符。这类成员可以被本类中的成员函数和类的友元函数访问,也可以被派生类的成员函数和类的友元函数访问。public:原创 2014-08-25 14:34:11 · 1652 阅读 · 0 评论 -
likely和unlikely宏
以下为这两个宏的一般定义:#define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x), 0)而__builtin_expect() 是 GCC (version >= 2.96)提供给程序员使用的,目的是将“分支转移”的信息提供给编译器,这样编译器可以对转载 2014-08-12 08:36:52 · 498 阅读 · 0 评论 -
C++之强制类型转换
static_cast转载 2014-08-01 13:33:52 · 410 阅读 · 0 评论 -
C++之多态
所谓的多态即用父类型的指针指向子类对象,然后通过父类的指针调用实际之类的成员函数,因此父类的指针具有多种形态。多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。(这里我觉得要补充,重写的话可以有两种,转载 2014-08-05 15:54:32 · 326 阅读 · 0 评论 -
C++虚函数和多态
1.C++中的虚函数C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。对C++ 了转载 2014-08-05 16:10:59 · 379 阅读 · 0 评论 -
c和c++中NULL和0的区别
c和c++中NULL和0的区别1,什么是空指针常量(null pointer constant)?[6.3.2.3-3] An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.这里告转载 2014-08-01 14:10:01 · 412 阅读 · 0 评论 -
C语言之 ## __VA_ARGS__ 宏
在GNU C中,宏可以接受可变数目的参数,就象函数一样。转载 2014-06-26 18:59:05 · 667 阅读 · 0 评论 -
C语言之unsigned int和int的运算
首先先说明下:1)数值在计算机中是以补码的形式存储的。同时如果两个补码相加时,最高位也就是我们的符号位如果有进位,是需要丢弃的。正数的补码是自己本身, 负数的补码是符号位为1,其余位为该数绝对值的原码按位取反,然后整个数再加1.2)如果一个运算符两边的运算数类型不同,先要将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算,转换规则如下图所示。double ←─原创 2013-12-02 17:41:48 · 1992 阅读 · 0 评论 -
进程和线程
一个进程就是当前正在执行的一个程序,包括程序的寄存器、程序计数器和变量的当前值。不同的进程拥有不同的地址空间。而线程可以理解为是进程中的控制流。同一个进程内也就是说在同一个地址空间内可以有多个控制流。也就是可以有多个线程,他们共享地址空间。 我们通常将进程视为是资源的集合,进程中有程序的正文、数据以及其他的一些资源,例如:打开的文件,设置的定时,子进程等,我们通过进程去原创 2013-12-01 11:48:49 · 487 阅读 · 0 评论 -
JDBC数据库的连接
jdbc数据库的链接1:加载JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); 成功加载后,会将Driver类的实例注册到DriverManager类中。2:创建数据库的连接 •要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 该对象就代表一个数据库的原创 2013-10-21 20:56:52 · 301 阅读 · 0 评论 -
static in c
惨痛教训: 假设在test.h中定义了一个static bool g_test=false; 若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变! 一:全局变量: 1)内存中的位置:静态存转载 2012-12-11 09:32:31 · 259 阅读 · 0 评论 -
C++之类成员变量初始化
1、成员变量在使用初始化列表初始化时,与构造函数中初始化成员列表的顺序无关,只与定义成员变量的顺序有关。因为成员变量的初始化次序是根据变量在内存中次序有关,而内存中的排列顺序早在编译期就根据变量的定义次序决定了。这点在EffectiveC++中有详细介绍。2、如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。3、注意:类成员在定义时,是不能初始化的原创 2015-06-29 22:08:15 · 585 阅读 · 0 评论