2204020314刘蒙蒙网络22_3 level
获赞
0
粉丝
0
关注
1
看过 TA
12
哈尔滨理工大学
2026
IP属地:黑龙江
暂未填写个人简介
私信
关注
2023-12-22 00:14
哈尔滨理工大学
uto的使用细则1.auto与指针和引用结合起来使用 用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型时则必须加&int a = 10;auto* pa = &a;//指定pa为指针类型auto* ppa = &pa;auto& ia = a;//指定ia的类型为引用类型auto* pa = a;//程序非法,因为指定了pa的类型是指针类型,但是我们却给它赋了地址cout << typeid(pa).name() << endl;//输出结果为int *cout << typeid(ppa).name() << endl;//输出结果为int **cout << typeid(ia).name() << endl;//输出结果为int2.当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对 第一个类型进行推导,然后用推导出来的类型定义其他变量。auto a = 10, d = 3.14;//错误的使用方式auto i = 0, *p = &i;//正确的使用方式,i是整数,p是整型指针auto a = 10, b = 20;//正确的使用方式,因为经过编译器推导之后,程序会变成下面的定义方式int a = 10, b = 20;3.auto在使用时会遵循隐式类型转换的规则。int main(){auto a = 3.14 + 5;//表达式3.14和5相加后的类型转换为double类型,值为8.14cout << typeid(a).name() << endl;return 0;}
0 点赞 评论 收藏
分享
2023-12-22 00:13
哈尔滨理工大学
函数重载的概念函数重载 : 是函数的一种特殊情况, C++ 允许在 同一作用域中 声明几个功能类似 的同名函数 ,这些同名函数的 形参列表 ( 参数个数 或 类型 或 顺序 ) 必须不同 ,常用来处理实现功能类似数据类型不同的问题示例:#include <iostream>using namespace std; int Add(int x, int y) {cout << "int x, int y" << endl;        // 为了方便区分return x + y;}double Add(double x, double y) {cout << "double x, double y" << endl;  // 为了方便区分return x + y;}void Func(int a) {cout << "Func(int a)" << endl;}void Func(char b, int a) {cout << "Func(char b, int a)" << endl;}void Func(int a, char b) {cout << "int a, char b" << endl;} int main(void){cout << Add(1, 2) << endl;cout << Add(1.1, 2.2) << endl; Func(10);Func('A', 20);Func(10, 'A'); return 0;}
0 点赞 评论 收藏
分享
2023-12-22 00:11
哈尔滨理工大学
结构体中const使用场景作用:用const来防止误操作示例:#include<iostream>using namespace std;#include<string>struct Student {    string name;    int age;    int score;};//将函数中的形参改为指针,可以减少内存空间,而且不会复制新的副本出来void printdata(const Student* p) {//加congst可以防止误操作    //p->age = 150;//由于存在const,所以无法修改其中的参数,但是读取相应的参数没有问题。    cout << "姓名:" << p->name << "  年龄:" << p->age << "  分数:" << p->score << endl;}int main() {    //创建结构体变量    Student s = { "张三", 20, 100 };    printdata(&s);    cout << "姓名:" << s.name << "  年龄:" << s.age << "  分数:" << s.score << endl;    system("pause");    return 0;}
0 点赞 评论 收藏
分享
2023-12-22 00:10
哈尔滨理工大学
结构体做函数参数作用:将结构体作为参数向函数中传递传递方式有两种:值传递,不会修改主函数中的值。地址传递,会修改主函数中的值。示例:#include<iostream>using namespace std;#include<string>struct Student {    string name;    int age;    int score;};void printdata(struct Student s) {    s.age = 30;    cout << "通过函数访问结构体成员 姓名:" << s.name << "  年龄:" << s.age << "  分数:" << s.score << endl;}void printdata2(struct Student* p) {    p->age = 45;    cout << "通过指针访问结构体成员 姓名:" << p->name << "  年龄:" << p->age << "  分数:" << p->score << endl;}int main() {    //将学生传入到一个参数中,打印学生的所有信息    //创建结构体变量    Student s;    s.name = "张三";    s.age = 20;    s.score = 100;    printdata(s);    printdata2(&s);    cout << "姓名:" << s.name << "  年龄:" << s.age << "  分数:" << s.score << endl;    system("pause");    return 0;}
0 点赞 评论 收藏
分享
2023-12-22 00:09
哈尔滨理工大学
结构体嵌套结构体作用:结构体中的成员可以是另一个结构体例如:每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体示例:#include<iostream>using namespace std;#include<string>struct Student {    string name;    int age;    int score;};struct teacher {    int id;    string name;    int age;    struct Student stu;//辅导的学生,学生的结构体在老师的前面,否则查找不到。};int main() {    //创建老师    teacher t;    t.id = 1000;    t.name = "老王";    t.age = 50;    t.stu.name = "小王";    t.stu.age = 20;    t.stu.score = 100;    cout << "老师姓名:" << t.name << "  年龄:" << t.age << "  老师id:" << t.id << endl;    cout << "老师带的学生姓名:" << t.stu.name << "  学生年龄:" << t.stu.age << "  学生分数:" << t.stu.score << endl;    system("pause");    return 0;}
0 点赞 评论 收藏
分享
2023-12-22 00:08
哈尔滨理工大学
0 点赞 评论 收藏
分享
2023-12-22 00:07
哈尔滨理工大学
结构体基本概念结构体术语用户自定义的数据类型,允许用户存储不同的数据类型结构体定义和使用语法:struct 结构体名 { 结构体成员列表 };示例:#include<iostream>using namespace std;#include<string>struct Student {//这里的struct不能够省略    //成员列表    string name;    int age;    int score;}s3;//定义结构体时顺便创建变量int main() {    //struct Student s1,这里的struct可以省略    Student s1;//这里的struct可以省略    s1.name = "张三";    s1.age = 20;    s1.score = 100;    cout << "姓名:" << s1.name << " 年龄:" << s1.age << " 分数:" << s1.score << endl;    //struct Student s2 = {...}    struct Student s2 = { "李四",19,80 };    cout << "姓名:" << s2.name << " 年龄:" << s2.age << " 分数:" << s2.score << endl;    //定义结构体时顺便创建变量    s3.name = "王五";    s3.age = 18;    s3.score = 89;    cout << "姓名:" << s3.name << " 年龄:" << s3.age << " 分数:" << s3.score << endl;    system("pause");    return 0;}
0 点赞 评论 收藏
分享
2023-12-21 17:33
哈尔滨理工大学
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务