BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #14416同步于 2008/10/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

自己总结的c++笔记

tthinker
2008/10/20镜像同步0 回复
基于对象(object based)?为什么是基于对象 类(class):通过对一组数据的抽象来建立问题的模型。 继承(inheritance):对现有代码的重用。 动作被称为表达式(expression). 以分号结尾的是语句(statement)&#61663;最小单元 Iostream是输入输出库标准文件 #include<iostream> 注意iostream没有后缀 想输出换行符时,可以用cout<<”\n”;也可以用cout<<endl; 在输入两个连续字符时,可以用两个>>例如:cin>>ifile>>ofile 为了对文件进行打开和写入操作,必须包括头文件fstream #include <fstream> &是取地址符 *是解引用符。 在c++中,指针的作用是管理和操作动态分配的内存。 静态和动态内存分配的区别: 1 静态是有名字的变量,可以直接对其进行操作。动态是没有名字的变量,使用指针对其进行操作。 2 静态的可以自己释放,动态的要由程序员自己进行分配。通过new和delete来实现。 Int *pint=new int(1024) Int *pint=new int[4] <-用数组 Delete pint Delete [] pia 如果在程序最后忘记删除动态分配的内存,则会出现内存泄漏(memory leak) 类的形式: Class classname{ Public: // Private: // } 通过两个成员访问操作符(member access operator),可以调用一个有名字的成员函数,分别为点操作符(.),以及用于类 对象的箭头(->) Int min_val=myarray.min(); Int max_val=parray->max(); Public的成员可以在程序的任何地方进行访问,private的成员只能在该类的成员函数和友元(friend)中被访问。一般情况下,public是存放的公有成员函数,private内存放的是数据成员函数。由于成员函数和数据成员不能共用一个名字,因此在数据成员前加一个下划线(_),如 int _size; 构造函数(constructor)用于初始化对象,在类对象被最后一次被使用后,它的析构函数(destructor)就会自动被调用。用~来标识析构函数。 C++支持函数重载(function overloading)的机制,它允许两个函数应用同一个名字,但是条件是它们的参数不能相同。 (::)是操作域。&#61514; &#61514; &#61514; &#61516; 被继承的类叫作基类(base class),从基类中派生出来的叫做派生类(derived class) 操作系统把它能完成的功能能函数的形式提供给应用程序使用,应用程序对这些函数的调用叫做系统调用,这些函数的集合就是windows系统提供给程序的接口(application programming interface),即API.如createwindow就是一个api函数。 关于句柄(handle),资源的标识。操作系统要管理资源,要通过句柄来找到相应的资源。分为图标句柄(hicon),光标句柄(hcursor),窗口句柄(hwnd),应用程序实例句柄(hinstance). 字节(byte) 字(word) 位(bit) 一个字节由8位组成,一个字由4个字节组成。 在所有的符号类型中,最左边的是符号位,1代表负数,0代表正数。 在整型文字常量前加一个0,代表是8进制的数,加上0x,为16进制的。 长整型的在数后面加上L(大写),无符号的在最后加上u,浮点型在后面加上f 在面对windows编程时,要包括头文件 #include<windows.h> #include<stdio.h> 关于winmain函数,int WINAPI WinMain 在此WINAPI表示它后面的函数是API函数,它本身并不是函数。WNDCLASS指窗口类。在使用窗口类前要对其进行注册,RegisterClass(&wndcls),再进行创建窗口,CreateWindow(),ShowWindow(),UpdateWindow() #include<iostream.h> //在输入输出文件时,要包括这个头文件 int main() { int value=2; int pow=10; cout<<value<<" raised to the pow of "<<pow<<":\t"; int res=1; for(int cnt=1;cnt<=pow;cnt++) res=res*value; cout<<res<<endl; } 注意#include<iostream.h>与#include<iostream>的区别 <iostream>比<iostream.h>更新,在使用时,如果使用#include<iostream>必须在后面加上using namespace std,如果使用#include<iostream.h>就不用了。 变量名:变量的标识符(identifier) 用解引用符来定义指针(*) 下面对指针的定义是合法的: Int *pi=0; //pi被初始化“没有指向任何对象” Int *pi2=&ival //pi2被初始化为ival的地址 对于指针类型,如果只是持有地址值,那么指针类型并不太重要,可以用空类型指针来实现,void * 它可以被用于任何类型的地址赋值。 要使用string类型,一定要包含头文件#Include<string> String是c++新加的一种类型。 为了防止对数据的误操作,在定义数据时,可以用const int bufsize=512;这样来定义 Bool类型可以把一个对象赋值为true false 数组可用一组数来进行初始化,这些数放在大括号中,例如:int ia[array_size]={0,1,2}; 此时,不用指定维数,根据输入的数来自动确定维数。 多维数组可以这样定义: Int ia[4][3]={ {0,1,2}, {3,4,5}, {6,7,8}, {9,10,11} } 如果定义一个数组int ia[]={0,1,2,3,4}; 那么ia代表第一个元素的地址,它的类型是数组元素的指针。因此,ia 和&ia[0]都是返回第一个元素的地址。因此,*ia和ia[0]都是代表的第一个元素的值。 使用sizeof前要包括#include<cstddef>文件,在使用时注意一下:int *pi=new int[12]; Sizeof(*pi)和sizeof(pi)的值全是4,(因为对于int类型的计算机是4个字节)。注意sizeof的值不是数组中元素的个数。 域(scope):局部域,名字空间域,类域 局部域:是指包含函数中的程序部分。 程序最外面的是全局域。 String是c++新加的一种数据类型,相当方便。在使用时,包括#include<string>即可。 String类有很多函数可以调用,查找函数find(),反向查找函数rfind(),find_first_of()查找包含字符串的任何字符,返回第一个值,子串函数substr()等,size()函数,它还重载了很多操作符,如+,+=,<等。其中+可以直接加上一个字符串。 C++中,对象可以静态分配,也可以动态分配(程序执行时调用函数来分配)。这两种方法主要是效率与灵活性之间的平衡准则不同。 以c++中定义私有数据成员名字时,在前面加一个_。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。