C/C++
文章平均质量分 50
javaious
这个作者很懒,什么都没留下…
展开
-
c函数和指针练习
#include #include#includechar showmenu(void);void eatline(void); //读至行末void show(void(* fp)(char *), char * str);void ToUpper(char *); //把字符串转换为大写void ToLower(char *); //把字符串转为小写vo转载 2013-12-16 11:38:18 · 1001 阅读 · 0 评论 -
class与struct,this指针(笔记)
class 和struct 的区别:在未指定访问权限时,class默认的是私有的,struct默认是公有的。this指针:成员函数有一个隐含的附加形参,即指向该对象的指针,这个隐含的形参叫做this指针使用this指针保证每个对象可以拥有不同的数据成员,但处理这些成员的代码可以被所有对象共享。原创 2014-02-20 08:34:38 · 3107 阅读 · 0 评论 -
const_cast、static_cast、reinterpret_cast用法(笔记)
1.const_cast:#include using namespace std;void fun(int &val){ cout<<"fun "<<val<<endl;}//const_cast用来移除常量性//const_cat一般用于指针或者引用//使用const_cast去除const限定的目的不是为了修改它的内容//使用const_cast去除const限定,通常原创 2014-02-19 19:37:17 · 1288 阅读 · 0 评论 -
extern "C"实现C与C++混合编程(笔记)
#ifdef __cplusplusextern "C" {#endif ...//代码#ifdef __cpluscplus};#endifextern "C"表示不进行名字改编。C++支持重载,所以编译器会对重载的函数进行名字改编。#include using namespace std;void func(int a, int b){ cout<<"int fu原创 2014-02-18 21:57:00 · 708 阅读 · 0 评论 -
带默认形参的函数(笔记)
#include using namespace std;//默认值的定义必须遵循从右到左的顺序int fun(int a, int b=5) { return a+b;}int fun(int a, int b, int c=5);int main(void) { cout<<fun(3)<<endl; cout<<fun(1,2)<<endl; //产生二义性 retu原创 2014-02-18 22:12:22 · 792 阅读 · 0 评论 -
引用和const引用(笔记)
1.引用#includeusing namespace std;//引用不是变量//引用仅仅是变量的别名//引用没有自己独立的空间//引用要与它锁引用的变量共享空间//对引用所做的改变实际上是对它所引用变量的改变//引用在定义的时候要进行初始化//引用已经初始化,不能重新指向其它变量int main(void){ int val = 100;// int& refva原创 2014-02-19 08:15:56 · 910 阅读 · 0 评论 -
const定义的常量和#define定义的符号常量的区别(笔记)
1)const定义的常量有类型,#define定义的没有类型。编译时可以对前者进行类型安全检查,而后者仅仅只是简单的替换。2)const定义的常量在编译时分配内存,#define定义的常量是在预编译时进行替换,不分配内存。3)作用域不同,const定义的作用域为该变量的作用域范围。而#define定义的常量作用域为它的点到程序结束,当然也可以在某个地方用#und原创 2014-02-17 21:25:55 · 3444 阅读 · 0 评论 -
static 与单例模式(笔记一)
一:#include using namespace std;class Singleton{public: static Singleton* GetInstance() { if(instance_ ==NULL) { instance_ = new Singleton; } return instance_; } ~Singleton() {原创 2014-02-26 21:51:44 · 691 阅读 · 0 评论 -
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏网上搜了下,试了可以解决:设置工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否],确定后重新生成即可。原创 2014-02-26 21:26:58 · 907 阅读 · 0 评论 -
拷贝构造函数调用的几种情况(笔记)
头文件:#ifndef _TEST_H_#define _TEST_H_class Test{public: Test(); explicit Test(int num); Test(const Test& other); void Display(); Test& Test::operator=(const Test& other); ~Test(); //析构函数原创 2014-02-24 19:45:27 · 964 阅读 · 0 评论 -
前向声明(笔记 )
1.C++类必须先定义,才能够实例化2.两个类需要相互引用形成一个“环形”引用时,无法先定义使用。这时候需要前向声明3.前向声明的类不能够实例化参考代码:A.h#ifndef _A_H_#define _A_H_#include "B.h"class A{public : A(void); ~A(void); B b_;};#endif //_A_H原创 2014-02-20 21:40:38 · 881 阅读 · 0 评论 -
c/c++指针和数组
char arr[] = "abc"; 字符数组,内容可以修改char *ptr = "abc"; 字符串常量,内容不能修改原创 2014-01-16 16:26:26 · 644 阅读 · 0 评论 -
scanf()、gets()、fgets总结
gets读取换行符之前(不包括换行符)的所有字符,在这些字符后添加一个空字符(\0),然后把这个字符串交给调用它的程序。它将读取换行符并将其丢弃,这样下一次读取就会在新的一行开始。c Primer plus上的例子:#include #define MAX 81int main(void){ char *ptr; char name[MAX]; /* 分配空间*/原创 2014-01-16 17:11:15 · 1074 阅读 · 0 评论 -
内联函数与带参数宏区别(笔记)
1.内容函数调用时,会进行类型检查,要求实参和形参的类型一致,另外内联函数会先对实参表达式进行求值,然后传递给形参;而宏调用时只用实参简单地替换形参。2.内联函数实在编译的时候,在调用的地方将代码展开,而宏则是在预处理时进行替换的。3.C++中建议采用inline函数来替换带参数的宏。原创 2014-02-19 18:49:13 · 2035 阅读 · 0 评论