比如class A含有函数index,通过switch(A.index())来进行switch分类操作
一般形式 | return_type function_name( parameter list ) { body of the function } |
示例 | int max(int num1, int num2) { // 局部变量声明 int result; if (num1 > num2) result = num1; else result = num2; return result; } |
函数定义在使用之后,则需要在使用函数之前进行函数声明:return_type function_name( parameter list );
函数调用,如调用上面示例,格式:int ret = max(a,b);//定义返回变量,传参
记录下匿名函数,毕竟这个平常接触的少,需要多记记~
表达式形式 | [capture](parameters)->return-type{body} //有返回值 [capture](parameters){body} //无返回值 |
示例 | [](int x, int y){return x []{++global_x;} [](int x, int y) -> int {int z = x+y; return z+x;} |
注意: | 1,C++变量传递有传值和传引用的区别。可以通过前面的[]来指定: [] // 沒有定义任何变量。使用未定义变量会引发错误。 [x, &y] // x以传值方式传入(默认),y以引用方式传入。 [&] // 任何被使用到的外部变量都隐式地以引用方式加以引用。 [=] // 任何被使用到的外部变量都隐式地以传值方式加以引用。 [&, x] // x显式地以传值方式加以引用。其余变量以引用方式加以引用。 [=, &z] // z显式地以引用方式加以引用。其余变量以传值方式加以引用。 2,对于[=]或[&]的形式,lambda 表达式可以直接使用 this 指针。但是,对于[]的形式,如果要使用 this 指针,必须显式传入: [this]() { this->someFunc(); }(); |
- C++随机数:复习一下随机数的生成
@ 采用STL实现随机数的生成:
@ 采用time.h头文件调用rand函数实现
1 srand((unsigned)time(nullptr));
2 for (int i = 0; i < 10; i++)
3 cout << rand() << endl;
4 cout << endl;
- C++字符串:C 风格字符串和 string 类类型
@ C风格字符串:以'/0'结束的字符数组,初始化:char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; char greeting[] = "Hello";
C++null 结束字符串操作函数:strcpy(s1, s2); strcat(s1, s2); strlen(s1); strcmp(s1, s2); strchr(s1, ch); strstr(s1, s2);
C++ 字符串类string,支持上述函数还有其它操作:+,size()
@ 二者可以相互转换:
string str("hello"); //string类可自动将C风格字符串转string对象
const char* mystr = str.c_str(); //c_str方法返回字符串首指针地址,string-->const char*
- C++指针:在C/C++中都很重要,变量地址
#include
using namespace std;
int main ()
{
int var = 20; // 实际变量的声明
int *ip; // 指针变量的声明
ip = &var; // 在指针变量中存储 var 的地址
cout << "Value of var variable: ";
cout << var << endl;
// 输出在指针变量中存储的地址
cout << "Address stored in ip variable: ";
cout << ip << endl;
// 访问指针中地址的值
cout << "Value of *ip variable: ";
cout << *ip << endl;
return 0;
}
- C++引用:引用和指针不同,引用是变量别名,即变量本身,而指针是变量地址
#include
using namespace std;
int main ()
{
// 声明简单的变量
int i;
double d;
// 声明引用变量
int& r = i;
double& s = d;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
- C++基本输入输出
C++基本输入输出包含cin,cout,cerr以及clog,其中在输入输出时我们可以通过一些函数来进行格式化输出,这部分函数主要是针对数字这种类型数据的输出的,下面是一个示例:
#include
#include
using namespace std;
int main()
{
cout<
- C++数据结构
结构用于表示一条记录,一般我们采用结构体指针这种方式来进行传参赋值等等,直接用结构体操作的不多,下面是一个基本使用示例:
#include
#include
using namespace std;
void printBook( struct Books *book );
struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main( )
{
Books Book1; // 定义结构体类型 Books 的变量 Book1
Books Book2; // 定义结构体类型 Books 的变量 Book2
// Book1 详述
strcpy( Book1.title, "C++ 教程");
strcpy( Book1.author, "Runoob");
strcpy( Book1.subject, "编程语言");
Book1.book_id = 12345;
// Book2 详述
strcpy( Book2.title, "CSS 教程");
strcpy( Book2.author, "Runoob");
strcpy( Book2.subject, "前端技术");
Book2.book_id = 12346;
// 通过传 Book1 的地址来输出 Book1 信息
printBook( &Book1 );
// 通过传 Book2 的地址来输出 Book2 信息
printBook( &Book2 );
return 0;
}
// 该函数以结构指针作为参数
void printBook( struct Books *book )
{
cout << "书标题 : " << book->title <author <subject <book_id <