首页 > 编程语言 >C++基础

C++基础

时间:2023-07-06 16:23:09浏览次数:35  
标签:转换 int float 基础 C++ cast 类型

学习 C++,关键是要理解概念,而不应过于深究语言的技术细节。

C++程序结构

#include <iostream>								//包含头文件 <iostream>
using namespace std;							//定义命名空间 "std"
int main(){													//主函数 main()
	cout <<"Hello World!"<< endl;		//输出函数 cout,endl表示换号与 "\n"相同
	return 0;
}

C++数据类型

布尔型 bool
字符型 char
整形 int
长整形 long
浮点型 float
双浮点型 double
无类型 void
字符串型 string

typedef声明

使用typedef可以为已有的类型去一个新的名字

typedef int feet;

feet a;

枚举类型

通常用来定义一种在预估变化内容的变量

enum color [枚举名] {red,blue,yellow,green,white} c [变量名];
c = blue;
cout << c;		//输出c的值为:1

enum color [枚举名] {red,blue=5,yellow,green,white} c [变量名];
c = yellow;
cout << c;		//输出c的值为:6

类型转换

分为静态转换,动态转换,常量转换,重新解释转换

  1. 静态转换 (Static_cast)

    //静态转换不进行任何运行时类型检查
    int i = 10;
    float b = static_cast<int>(i);		//将int类型转换为float类型
    
  2. 动态转换 (Dynamic_cast)

    //动态转换常用于将父类指针转换为子类指针或引用
    class father{ };
    class children { } :public father { };				//子类继承父类
    father* f = new children;									//使用子类实例化父类对象
    children* c = dynamic_cast<children*>(f)		//将父类指针转换为子类指针
    
  3. 常量转换(Const_cast)

    //常量转换用于将const类型的对象转换为非const类型的对象
    const int i = 10;								//定义 int常量 i变量
    int& r =  const_cast<int&>(i);		//常量转换,将const int转换为int
    
  4. 重新解释转换

    //重新解释转换将一个数据类型的值重新解释为另一个数据类型的值,通常用于在不同的数据类型之间进行转换。
    int i = 10;
    float f = reinterpret_cast<float&>(i); 		// 重新解释将int类型转换为float类型
    

C++变量类型

类型 关键字 描述
布尔类型 bool
整形类型 int
长整型类型 long
浮点类型 float
长浮点类型 double
字符类型 char
字符串类型 string
枚举类型 enum
宽字符类型 wchar_t
无类型 void

通过extern可以在任何地方声明一个变量

标签:转换,int,float,基础,C++,cast,类型
From: https://www.cnblogs.com/cloud-zhang/p/17532500.html

相关文章

  • 【17.0】前端基础jQuery之jQuery补充
    【17.0】前端基础jQuery之jQuery补充【一】组织标签后续执行方式一<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jque......
  • 激光雷达基础介绍与仿真测试流程
    随着智能驾驶领域的快速发展与普及,激光雷达的轻量化、电子化和芯片化也逐渐成为趋势。由于激光雷达不受光线影响、分辨力高、支持3D立体,点云还支持AI算法训练等优点,一些主流车型在L3级别的智驾功能应用上搭载了激光雷达,从而完成更可靠和准确的目标探测。 在L2+或L3级以上的智驾......
  • python基础 如何查看进程的id号、队列的使用(queue)、解决进程之间隔离关系、生产者消
    如何查看进程id号进程都有几个属性:进程名、进程id号(pid-->processid)每一个进程都有一个唯一的id号,通过这个id号就能找到这个进程importosimporttimedeftask():print("task中的子进程号:",os.getpid())print("主进程中的进程号:",os.getppid())#parent......
  • C/C++ Qt 数据库与SqlTableModel组件应用
    SqlTableModel组件可以将数据库中的特定字段动态显示在TableView表格组件中,通常设置QSqlTableModel类的变量作为数据模型后就可以显示数据表内容,界面组件中则通过QDataWidgetMapper类实例设置为与某个数据库字段相关联,则可以实现自动显示字段的内容,不仅是显示,其还支持动态增删改查......
  • C/C++ 实现VA与FOA之间的转换
    PE结构中的地址互转,这次再来系统的复习一下关于PE结构中各种地址的转换方式,最终通过编程来实现自动解析计算,最后将这个功能集成到我的迷你解析器中,本章中使用的工具是上次讲解PE结构文章中制作的CMD迷你结构解析器,如果不知道参数的基本使用请看前一篇。PE工具的使用与下载:C/C++实......
  • C/C++学生成绩管理系统[2023-07-06]
    C/C++学生成绩管理系统[2023-07-06]学生成绩管理系统开发一个可以管理学生成绩以及学生基本信息的一个信息系统,至少实现如下功能:信息管理,支持信息的增、删、改、查操作,具体信息类型如下:(1) 管理学生信息 ,包括学号,姓名,年龄,班级等等信息。(2) 班级信息,包括班级编号、班级人数,......
  • C++内存模型&空指针、野指针、函数指针和回调函数
    C++内存模型&空指针、野指针、函数指针和回调函数C++内存模型栈与堆的区别:1.管理方式不同栈是系统自动管理的,在超出作用域后,将自动被释放堆是手动释放,若程序中不释放,程序结束后将由操作系统回收2.空间大小不同堆的大小受限于物理内存范围栈小的可怜,一般为8M(可通过更改......
  • C++电影评分系统[2023-07-06]
    C++电影评分系统[2023-07-06]程序设计综合课程设计指导书一、题目:电影评分系统二、设计内容及要求:根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能。本系统要求模拟实现电影评分系统,其中包括电影资源管......
  • 小学期C++实践
    一、链表1、#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#defineN100010structnode{intval;structnode*next;};structnode*head=NULL;intx;structnode*reverseList(structnode*head){structnode*h......
  • 【ChernoC++笔记】指针和引用
    指针【16】C++指针▶️指针的类型不影响指针的本质:任何type的指针都是保存着内存地址的整数(integer)。指针的type只用来使人更好理解。//一个最简单的void类型指针,储存内存地址0void*ptr=0;void*ptr=NULL;void*ptr=nullptr; //C++11//使ptr存储var的内存地......