首页 > 编程语言 >C++ 第二节课 结构体, 字符串 和 C语言的区分

C++ 第二节课 结构体, 字符串 和 C语言的区分

时间:2024-02-21 21:45:22浏览次数:17  
标签:函数 C++ C语言 字符串 第二节 结构

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 
 6 // 结构体
 7 struct Stu{
 8     string name;
 9     int age;
10 
11     // 结构体重的函数叫做成员函数  在 C 中是不能直接写函数的 只能使用函数指针,通过指针的回调出发函数(行为)
12     // 默认的修饰符 是 public(访问权限)
13     void write_code(){
14         cout << "正在写代码" << endl;
15     }
16 };
17 
18 // C++ 中的结构体的大小与非静态属性有关(static),同时遵循C中的对齐原则,与结构体重的成员函数无关
19 // 因为 C++ 中的类就是从 C 中的结构体演化而来的
20 
21 // 认识 C++ 中的字符串  C 中没有字符串的类型 只有字符串的表现形式在 C 中使用字符串 需要注意结尾 \0 问题 (字符串的长度问题)(浪费空间)
22 // 在 C++ 的面向对象(OOP)这个世界中,对于底层数据元素操作,我们吧这个底层封装了起来(节约空间),成为了一个专属性字符串类型 string
23 string name = "zhulx";
24 
25 int main()
26 {
27     Stu stu = {"张三",20};
28     // cout << stu.name << stu.age << endl;
29     // stu.write_code();
30     cout << name << endl;
31     string name1 = "test";
32     cout << name1.at(2);  // 打印字符串的第二个字符
33     cout << name.size() << endl;  // 查看字符串的长度
34     // 访问字符串指定字符的时候有两种方式 1. 使用 at 2 .使用中括号 推荐使用 1 at 访问 因为 at 有边界检查地;
35     string str = name += name1;
36     cout << str << endl;
37     return 0;
38 }

 

标签:函数,C++,C语言,字符串,第二节,结构
From: https://www.cnblogs.com/zhulongxu/p/18026270

相关文章

  • 4.3 提升题 - A One Way In, Two Ways OutC++
    就是让你判断输入受限的双端队列的输出的正确性。其实就是模拟双端队列出队的过程,要不左边出队,要不右边出队,而入队已经一定了。用一个数组模拟输入受限的双端队列就行了。但是写这题可太难受了,写了我大概2个半小时,各种各种小错误,没考虑周全的地方。#include<iostream>using......
  • C++内存管理
    C++内存管理目录C++内存管理内存模型堆与栈的区别其他说明new和deletemalloc/free和new/delete区别new运算符的原理new/delete的使用要点判断内存申请成功delete与delete[]区别参考资料内存模型内存类型作用生命周期常量存储区存放常量,不允许修改全局/静态存储......
  • C++智能指针
    C++智能指针目录C++智能指针unique_ptr简单示例构造方法释放和重置shared_ptr构造方法常用函数构造重置和析构获得原始指针注意事项weak_ptr构造方法常用函数解决循环引用参考资料在C++中,内存的分配和释放都是由开发者手动实现的。这种方式虽然很灵活,但也十分容易出错,比如忘记释......
  • C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别
    #include<iostream>//#include头文件,C++标准库的头文件都不带.h(.h是C库头文件添加的)#include<cstdio>#include<cstring>usingnamespacestd;//namespace命名空间为了防止变量名字冲突//命名空间中定义自己的变量或函数或类,都是独立的//所有的命名空......
  • 49. 字母异位词分组c++
    刷力扣还有点不太习惯,主要是C++只学了皮毛。看了官方活用map就是好啊。把字母都排好序然后判断就好了。map<string,vector<string>>m;for(inti=0;i<strs.size();i++){stringtem=strs[i];sort(tem.begin(),tem.end());......
  • 【C++】编写一个具有老式风格接口的函数,其原型如下:int reduce(long arr[], int n)。实
    #include<iostream>#include<string>usingnamespacestd;intreduce(longarr[],intn){sort(arr,arr+n);autostr=unique(arr,arr+n);returnstr-arr;}intmain(){longarr[10]={15,8,5,6,11,11,6,6,198,50};......
  • c++类开发的第三篇(讲明白友元函数和this指针)
    friend_function成员变量和函数的存储c++实现了封装,数据和处理数据的操作(函数)是分开存储的。c++中的非静态数据成员直接内含在类对象中,就像c语言的struct一样。成员函数并不会出现在对象中,而是作为类的一部分存储在代码段中,需要通过对象或对象指针进行调用。成员函数可......
  • C++开发基础知识(修改)
    2024-01-0820:13星期一博客内容来自相关书籍和网站内容总结,仅供个人参考使用:笔者@StuBoo使用目录快速转到技术面试问题汇总、算法笔记1.C++语言基础1.1语言特性面向对象编程(OOP):C++支持面向对象编程,包括封装、继承和多态。通过类和对象,可以将数据和方法组织成单个单元,......
  • c++ 2 字母异位词
    //字母异位词是由重新排列源单词的所有字母得到的一个新单词。//示例1:////输入:strs=["eat","tea","tan","ate","nat","bat"]//输出:[["bat"],["nat","tan"],["ate","eat",&q......
  • 1 c++算法题解析-两个数之和
    //给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。//你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。//你可以按任意顺序返回答案。//示例1:////输入:nums=[2,7,......