- 博客(12)
- 收藏
- 关注
转载 c++之类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换。如int转换成char。dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多
2014-05-06 17:28:11 439
转载 c语言之静态局部变量,静态全局变量和静态函数
1. static 变量 静态变量的类型 说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态 存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。2. 静态局部变量 静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义 它
2014-05-01 16:29:05 1169
转载 c++浅拷贝和深拷贝的区别
c++默认的拷贝构造函数是浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A { public: A(int _data) : data(_data){} A(){}private: int data; };int main() { A a(5), b =
2014-04-27 18:30:48 669
转载 string类成员函数c_str()介绍
string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串
2014-04-27 16:10:47 740
原创 c++之this指针做参数实现对象间的交互实例
#include using namespace std;class Student;class Teacher{ public: void educate(Student* ps); void reply(const string& answer){ m_answer = answer; }
2014-04-26 23:43:05 878
原创 c++之多文件编写实例
student.h 1 #ifndef _STUDENT_H 2 #define _STUDENT_H 3 #include 4 using namespace std; 5 namespace tarena{ 6 class Student{ 7 public: 8 Student(const string& name =
2014-04-25 23:44:14 1111
转载 fgetc fputc fgets fputs fprintf fscanf getc getchar gets putc putchar puts ungetc函数介绍
fgetc (由文件中读取一个字符)头文件: include函数声明: int fgetc(FILE * stream);说明:fgetc()从参数stream所指的文件中读取一个字符.若读到文件尾而无数据时便返回EOF. 字符读取函数fgetc()可从文件数据流中一次读取一个字符,然后读取光标移动到下一个字符,并逐步将文件的内容读出
2014-04-24 21:49:18 1283
转载 volatile的用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;
2014-04-24 20:34:03 418
转载 局部变量作为返回值问题
函数返回局部变量,是返回局部变量的值。但指针(或地址)是一种特殊的值,所以返回局部指针变量需要特别注意。正确情况下,作为函数返回值的局部指针,其所指向对象的作用域应该是调用者作用域、全局或静态常量区;指向栈空间对象的指针作为返回值,存在潜在的错误。1. 返回局部值变量[cpp] view plaincopyint num(void) {
2014-04-23 18:10:57 1722
转载 c++之内联函数inline的介绍
介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如#define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行
2014-04-22 23:42:27 456
转载 c++名字空间指令与名字空间声明
在使用任何名字空间之前,编译器必须能够找到他,即确定他的声明所在的作用域。使用某个名字空间中的名字最简单的方式就是使用限定名字,即把名字空间的名字(如numeric)作为前缀,然后加上作用域操作符(::)。 然而又是可能不愿使用名字空间以追求代码简洁。可以通过下面实现:1.使用using指令如:using namespace std;语法:关键字using,关键字namesp
2014-04-21 16:56:46 1346
转载 va_list,va_start,va_arg,va_copy和va_end的使用
va_list arg_ptr:定义一个指向个数可变的参数列表指针;va_start(arg_ptr, argN):使参数列表指针arg_ptr指向函数参数列表中的第一个可选参数,说明:argN是位于第一个可选参数之前的固定参数,(或者说,最后一个固定参数;…之前的一个参数),函数参数列表中参数在内存中的顺序与函数声明时的顺序是一致的。如果有一va函数的声明是void va_test(
2014-04-21 14:07:55 2182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人