当前位置: 首页 > article >正文

c++中的结构体

初始化结构体

struct huiyan{
  string id;
  int count;
}
int main(){
  huiyan h = {
    "123123", // id
    3 // count
  }
};
// c++11初始化
huiyan h {  
  "123123", // id
    3 // count
};
// 零值初始化
huiyan h {};

结构体数组


#include <iostream>
#include <vector>
using namespace std;
struct Infos {
    std::string address;
    std::string email;
};

struct Inflatable {
    int age;
    std::string name;
    Infos infos;
};

int main() {
    Inflatable inf[3] = {
        {1, "a", {"地址1", "1331@1331.com"}},
        {2, "b", {"地址1", "1331@1332.com"}},
        {3, "c", {"地址1", "1331@1333.com"}},
    };
    for (int i = 0; i < 3; i++) {
        cout << inf[i].name << endl;
    }

    return 0;
}

访问指针结构体成员

创建动态结构时,不能使用.访问成员,因为这种结构没有名称只有地址,那想访问需要使用->来访问成员。(当结构体类型变量为指针类型用->访问成员否则用.

struct Inflatable {
    int age;
    std::string name;
    Infos infos;
};   
Inflatable* inf2 = new Inflatable;
inf2->age = 4;

结构体传给函数注意事项

为了避免结构体传给函数时拷贝结构体副本的系统开销,可以将结构体地址传过去,如果不希望函数修改结构体则加const关键词。

枚举enum

enum colors {red, green, blue};
							0     1     2

上面的枚举会讲枚举的值red, green, blue作为枚举量,从0开始累加。

enum colors {red, green = 4, blue};
              0    4           5

枚举量的值我们可以指定,但是必须是整数


http://www.kler.cn/a/372890.html

相关文章:

  • echarts 遍历多个图表,并添加resize缩放
  • JavaFx -- chapter05(多用户服务器)
  • 【商汤科技-注册/登录安全分析报告】
  • MOV和MOVX(汇编语言)
  • 基于卷积神经网络的苹果病害识别与防治系统,resnet50,mobilenet模型【pytorch框架+python源码】
  • 如何在Django中使用模板
  • 深度了解flink(七) JobManager(1) 组件启动流程分析
  • 【HarmonyOS】鸿蒙应用低功耗蓝牙BLE的使用心得 (一)
  • 四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk
  • go-logger v0.27.0 - 并发性能为官方库 10 倍
  • uv: 一个统一的Python包管理工具
  • 游戏引擎中的颜色科学
  • 使用docx4j+docx4j-ImportXHTML实现将html转成word
  • PHP合成图片,生成海报图,poster-editor使用说明
  • 华为云Stack名词解释
  • 嵌入式硬件电子电路设计(一)开关电源Buck电路
  • es安装拼音分词后Kibana出现内存错误
  • HTML入门教程8:HTML格式化
  • 数据采集-Kepware OPCUA 服务器实现
  • 基于单片机的直流电机控制系统(论文+源码)
  • 智慧应急系统建设方案
  • 基于物联网设计的地下煤矿安全监测与预警
  • 【C++题解】1184. 数字走向I
  • JAVA学习-练习试用Java实现“计算两个数的和”
  • 《IDEA 使用技巧分享》
  • 一七二、Vue3性能优化方式