C++学习摘要记录(2)

正文

  • 自定义数据结构

    • 在函数内部自定义数据结构 :

      struct Sales_data {
          std::string bookNo;
          unsigned units_sold = 0;
          double revenue = 0.0;
      };
      
      void testSales_data() {
          Sales_data data1, datda2;
          double price = 0;
          cin >> data1.bookNo >> data1.units_sold >> price;
          data1.revenue = data1.units_sold * price;
      }
    • 在函数体外定义类 : 在.h头文件声明

  • 命名空间的using声明 :

    • using声明 :

      using namespace std;
      using std::cin;
    • string初始化 : 直接初始化 , 拷贝初始化

      void testinitializeString() {
          string s1;
          string s2 = s1;
          string s3 = "hiya";
          string s4(10, 'c'); // s4 的内容是 cccccccccc
          string s5 = "hiya";
          string s6("hiya"); //直接初始化
      }
      
    • string 读写操作熟练代码 :

      void testReadString() {
          string word;
          while (cin >> word) {
              cout << word << endl
          }
      
          string line;
          while (getline(cin, line)) {
              if (!line.empty) {
                  cout << line << endl
              }
          }
      }
  • string 对象比较 : 除了常规的== 和 != , 这里C++ 还有< , >等关系运算符来比较长度

  • string 对象相加 : 字面值不能直接相加
  • string 字符处理 : 在cctype头文件中定义了一组标准库函数来处理.

  • 标准库类型vector : 类似于java的arrylist , 有下标 , 可以添加.

    • vector 的初始化 :
      void testInitializeVector() {
          vector<string> v1{ "a","b","c","d","e" };
          vector<string> v1(10, "hi"); // 列表里面10个 "hi"
      }
  • 迭代器 :

    • 遍历 : 与 java 遍历略有不同

      void testIterator() {
          string s("hello world");
          for (auto it = s.begin; it != s.end && !isspace(*it); ++it) {
              //do something
          }
      }
    • 迭代器类型 :

      void testIterator() {
          vector<int>::iterator it; //可读写vector里面的元素
          vector<int>::const_iterator it1; //只能读
      
          string::iterator it2; //可读写string中的字符
          string::const_iterator it3; //只能读
      }
  • 补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值