C++函数
C++函数的内容的基础.
C++ 函数函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
C++ 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。
函数还有很多叫法,比如方法、子例程或程序,等等。
定义函数C++ 中的函数定义的一般形式如下:
return_type function_name( parameter list ) { body of the function }
在 C++ 中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种 ...
C++存储类
C++的变量/函数的生命周期.
C++ 存储类存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类:
auto
register
static
extern
mutable
thread_local (C++11)
从 C++ 11 开始,auto 关键字不再是 C++ 存储类说明符,且 register 关键字被弃用
auto 存储类自 C++ 11 以来,auto 关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
C++98标准中auto关键字用于自动变量的声明,但由于使用极少且多余,在C++11中已删除这一用法。
根据初始化表达式自动推断被声明的变量的类型,如:
1234auto f=3.14; //doubleauto s("hello"); //const char*auto z = new auto(9); // int*auto x1 = 5, x2 = 5.0, x3= ...
C++ 中的类型限定符
C++中有许多限定符,修饰符,这里列了几个.
C++ 中的类型限定符类型限定符提供了变量的额外信息。
限定符
含义
const
const 类型的对象在程序执行期间不能被修改改变。
volatile
修饰符 volatile 告诉编译器,变量的值可能以程序未明确指定的方式被改变。
restrict
由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。
volatile 往往会用于多线程的修饰,比如:
123456789101112volatile boolean isNext = false;Thread A() { // 第一个工作 // isNext = true;}Thread B (){ if (isNext) { // 第二个工作 }}
这里volatile 就是从来标记isNext, 以确保线程B每次都重新从内存中读取isNext的值,第二个工作一定在第一个工作之后进行。
但是要 ...
C++常量
C++的常量.
C++ 常量常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。
常量就像是常规的变量,只不过常量的值在定义后不能进行修改。
整数常量整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
下面列举几个整数常量的实例:
212 // 合法的 215u // 合法的 0xFeeL // 合法的 078 // 非法的:8 不是八进制的数字 032UU // 非法的:不能重复后缀
以下是各种类型的整数常量的实例:
85 // 十 ...
C++变量作用域
C++变量作用域.
C++ 变量作用域作用域是程序的一个区域,一般来说有三个地方可以定义变量:
在函数或一个代码块内部声明的变量,称为局部变量。
在函数参数的定义中声明的变量,称为形式参数。
在所有函数外部声明的变量,称为全局变量。
我们将在后续的章节中学习什么是函数和参数。本章我们先来讲解什么是局部变量和全局变量。
局部变量在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。下面的实例使用了局部变量:
123456789101112131415161718#include <iostream>using namespace std; int main (){ // 局部变量声明 int a, b; int c; // 实际初始化 a = 10; b = 20; c = a + b; cout << c; return 0;}
全局变量在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。
全局变量可以被任何函数访问 ...
C++变量类型
C++变量类型.
C++ 变量类型变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。
基于前一章讲解的基本类型,有以下几种基本的变量类型,将在下一章中进行讲解:
类型
描述
bool
存储值 true 或 false。
char
通常是一个八位字节(一个字符)。这是一个整数类型。
int
对机器而言,整数的最自然的大小。
float
单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数。
double
双精度浮点值。双精度是1位符号,11位指数,52位小数。
void
表示类型的缺失。
wchar_t
宽字符类型。
C++ 也允许定义各种其他类型的变量,比如枚举、指针、数组、引用、数据结构、类等等,这将会在后续的章节中进行讲解。
下面我们将讲解如何定义、声明和使用各种类型的变量。
C++ 中的 ...
C++数据类型
C++的一些常见的数据类型.
基本的内置类型C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型。下表列出了七种基本的 C++ 数据类型:
类型
关键字
布尔型
bool
字符型
char
整型
int
浮点型
float
双浮点型
double
无类型
void
宽字符型
wchar_t
一些基本类型可以使用一个或多个类型修饰符进行修饰:
signed
unsigned
short
long
typedef 声明您可以使用 typedef 为一个已有的类型取一个新的名字。下面是使用 typedef 定义一个新类型的语法:
1typedef type newname;
例如,下面的语句会告诉编译器,feet 是 int 的另一个名称:
1typedef int feet;
现在,下面的声明是完全合法的,它创建了一个整型变量 distance:
1feet distance;
关于 typedef 的几点说明:
typedef 可以声明各种类型名,但不能用来定义变量。用 typedef 可以声明数组类型、字 ...
C++类和对象
简要介绍C++的类与对象.
C++ 类 & 对象C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。
C++ 类定义定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。
类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。例如,我们使用关键字 class 定义 Box 数据类型,如下所示:
1234567class Box{ public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度};
关键字 public 确定了类成员的访 ...
输入输出
Java笔记11篇原来是写java的输入输出的,但是写着写着发现太乱,没有体系,实在没法理解,所以另写一篇作为总结与复习.
File常用方法先复习下File相关的内容,File代表文件和文件夹.下面是一些常用方法:
123456789101112131415161718192021222324252627282930313233343536import java.io.File;import java.util.Date; public class TestFile { public static void main(String[] args) { File f = new File("d:/LOLFolder/LOL.exe"); System.out.println("当前文件是:" +f); //文件是否存在 System.out.println("判断是否存在:"+f.exists()); ...
在AWT中绘图
使用AWT做点简单图形.
画图实现原理 在Component类里提供了和绘图有关的三个方法。
paint(Graphics g):绘制组件的外观。
update(Graphics g):调用paint()方法,刷新组件外观。
repaint():调用update()方法,刷新组件外观.
上面三个方法的调用关系为:repaint()方法调用update()方法,update()方法调用paint()方法。Container类中的update()方法先以组件的背景色填充整个组件区域,然后调用paint()方法重画组件。Container类的 update()方法代码如下:
12345678public void update(Graphics g) { if (isShowing()) { if (! (peer instanceof LightweightPeer)) { g.clearRect(0, 0, width, height); & ...