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

UE学习日志#15 C++笔记#1 基础复习

1.C++20的import

看看梦开始的地方:

import <iostream>;int main()
{std::cout << "Hello World!\n";
}

         经过不仔细观察发现梦开始的好像不太一样,这个import是C++20的模块特性

        如果是在VS里编写的话,要用这个功能需要新建一个头文件,例如HeaderUnits.h,在里边这样写:

#pragma once
import <iostream>;
import <vector>;
import <optional>;
import <utility>;
//......

 然后右键-->属性

 配置属性-->常规-->项类型改为 C/C++编译器

 配置属性-->C/C++-->高级-->编译为改为“作为C++标头单元编译(/exportHeader)”

2 注释 // 和/**/

3 函数声明和函数定义

4 常用的预处理命令

预处理指令功能常见用法
#include [file]将指定的文件插入代码中指令所在的位置几乎都是用来包含头文件,使代码可使用在其他位置定义的功能
#define [id] [value]每个指定的标识符都被替换为指定的值在C中,常用来定义常数值或宏。C++提供了常数和大多数宏类型的更好机制。宏的使用具有风险,因此在C++中使用它们要谨慎

#ifdef [id]

#endif

#ifndef [id]

#endif

ifdef("if defined")块或ifndef("if not defined")块中的代码被有条件的包含或舍弃,这取决于是否使用#define定义了特殊的标识符经常用来防止循环包含。每个头文件都以#ifndef开头,以保证某个标识符还未被定义,然后用一条#define指令定义该标识符。头文件以#endif结束,这样这个头文件就不会被多次包含。
#pragma [xyz]xyz因编译器而异。如果在预处理期间执行到这一指令,通常会显示一条警告或错误信息。

支持#pragma once就用这个

5 int main(int argc, char* argv[])实际参数从索引1开始

6 C++20的std::format

示例:

std::cout<<std::format("There are {} ways I love you.",219)<<std::endl;

不建议过度使用endl,会刷新缓冲区,影响性能

7 namespace 和 作用域解析运算符::

namespace mycode {void test(){}
}mycode::test();

命名空间嵌套:

namespace MyLibraries::Networking::FTP{}//仅在C++17之后支持
或
namespace MyLibraries{namespace Networking{namespace FTP{}}
}

命名空间别名:

namepsace MyFTP=MyLibraries::Networking::FTP;

8 十六进制浮点字面量

9 声明时初始化

 int initInt{ 7 };cout << uninitInt << endl;

http://www.lryc.cn/news/529350.html

相关文章:

  • CSS:跑马灯
  • rust 自定义错误(十二)
  • EWM 变更库存类型
  • AI大模型开发原理篇-9:GPT模型的概念和基本结构
  • MySQL数据库(二)
  • 从0到1:C++ 开启游戏开发奇幻之旅(二)
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.18 逻辑运算引擎:数组条件判断的智能法则
  • EasyExcel写入和读取多个sheet
  • LLM架构与优化:从理论到实践的关键技术
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.22 形状操控者:转置与轴交换的奥秘
  • NLP模型大对比:Transformer >Seq2Seq > LSTM > RNN > n-gram
  • DeepSeek部署教程(基于Ollama)
  • Java基础面试题总结(题目来源JavaGuide)
  • WPS mathtype间距太大、显示不全、公式一键改格式/大小
  • 宇宙大爆炸是什么意思
  • MotionLCM 部署笔记
  • VLLM性能调优
  • ESP32-S3模组上跑通esp32-camera(39)
  • Linux《基础指令》
  • 9.进程间通信
  • Windows中本地组策略编辑器gpedit.msc打不开/微软远程桌面无法复制粘贴
  • 供应链系统设计-供应链中台系统设计(十二)- 清结算中心设计篇(一)
  • Vue.js 单页应用(SPA)开发教程:从零开始构建你的第一个项目
  • Linux C openssl aes-128-cbc demo
  • 你了解哪些Java限流算法?
  • 【漫话机器学习系列】065.梯度(Gradient)
  • BswM(基础软件管理)详解
  • 上位机知识篇---GitGitHub
  • 网站快速收录:提高页面加载速度的重要性
  • Vue.js组件开发-实现全屏背景图片滑动切换特效