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

以net结尾的网站中国最新新闻摘抄

以net结尾的网站,中国最新新闻摘抄,南通网站搜索引擎优化,个人简历html代码C 23 是 C 编程语言的最新标准版本#xff0c;于 2023 年正式发布#xff0c;带来了诸多新特性与改进#xff0c;以下是一些主要内容#xff1a; 1.语言特性 1.显式对象参数#xff08;Deducing this#xff09;#xff1a;显式对象参数#xff08;Deducing this 23 是 C 编程语言的最新标准版本于 2023 年正式发布带来了诸多新特性与改进以下是一些主要内容 1.语言特性 1.显式对象参数Deducing this显式对象参数Deducing this允许在非静态成员函数中显式指定对象参数。在以往的 C 版本中this指针是隐式传递的而 C 23 提供了一种更明确的方式来处理对象参数这在一些复杂的编程场景和元编程场景下非常有用。 class MyClass { public:void myFunction(MyClass* this, int arg) {// 函数实现} }; 在这个例子中myFunction成员函数显式地指定了对象参数MyClass* this。这种写法使得函数调用的对象关系更加明确。 2.多维下标运算符重载方便处理多维数组让多维数组的访问和操作更加直观自然。比如 int arr[2][3][4]; arr[1][2][3] 42; // 传统方式访问多维数组元素 // C23 中可以这样重载下标运算符 class MyArray { public:int operator()(int i, int j, int k) {// 返回对应元素的引用return data[i][j][k];} private:int data[2][3][4]; }; MyArray myArr; myArr(1, 2, 3) 42; // 通过重载的下标运算符访问和修改元素 3.静态运算符函数引入静态operator()使得静态成员函数可以像普通运算符一样被调用增强了代码的灵活性和可读性。 class MathUtils { public:static int operator()(int a, int b) {return a b;} }; int result MathUtils()(5, 3); // 调用静态 operator() 实现加法运算 4. if consteval和if not consteval用于在编译时进行条件判断并执行常量评估的语句可用于优化代码和实现一些编译时的计算逻辑。 consteval int factorial(int n) {if (n 0) return 1;else return n * factorial(n - 1); }constexpr int result1 factorial(5); // 编译时计算阶乘int runtime_value 4; int result2 0; if not consteval {result2 factorial(runtime_value); // 运行时计算阶乘 } 5.扩展的浮点类型新增了std::float{16|32|64|128}_t和std::bfloat16_t等可选的扩展浮点类型为数值计算提供了更多的精度选择。 std::float32_t myFloat32 3.14f; std::float64_t myFloat64 3.14159265358979323846; std::float128_t myFloat128 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; 二、标准库特性 1.expected头文件与std::expected类型用于处理函数可能返回的预期值和错误将成功和失败的结果封装在单一的返回类型中增强了错误处理的可读性和可维护性。例如在文件读取操作中。 #include expected #include fstream #include iostreamstd::expectedstd::string, std::string readFile(const std::string filename) {std::ifstream file(filename);if (file.is_open()) {std::string content((std::istreambuf_iteratorchar(file)), std::istreambuf_iteratorchar());file.close();return content;} else {return std::unexpected(Error opening file: filename);} }int main() {auto result readFile(test.txt);if (result.has_value()) {std::cout File content: result.value() std::endl;} else {std::cerr Error: result.error() std::endl;}return 0; } 2.generator头文件与std::generator用于创建同步协程生成器方便生成一系列的值简化了异步编程中的数据生成逻辑。 #include generator #include iostreamstd::generatorint generateNumbers() {for (int i 0; i 5; i) {co_yield i;} }int main() {auto gen generateNumbers();for (auto num : gen) {std::cout num ;}std::cout std::endl;return 0; } 3. 范围库的增强新增了多个范围适配器和约束范围算法如views::adjacent、views::adjacent_transform、ranges::starts_with、ranges::ends_with等使对数据序列的操作更加丰富和灵活. #include iostream #include stringint main() {std::string str Hello, World!;bool contains_world str.contains(World);std::cout Contains World? (contains_world? Yes : No) std::endl;std::string_view str_view This is a test;bool contains_test str_view.contains(test);std::cout Contains test? (contains_test? Yes : No) std::endl;return 0; } 4.新的字符串处理方法如std::basic_string::contains和std::basic_string_view::contains方便判断字符串中是否包含特定的子串。 #include iostream #include stringint main() {std::string str Hello, World!;bool contains_world str.contains(World);std::cout Contains World? (contains_world? Yes : No) std::endl;std::string_view str_view This is a test;bool contains_test str_view.contains(test);std::cout Contains test? (contains_test? Yes : No) std::endl;return 0; } 三、其他方面 1.模块系统的改进进一步优化了模块的加载和编译性能新的模块导入语法使模块间依赖关系更明确降低了耦合度有助于提高大型项目的开发效率和代码的可维护性例如在游戏开发项目中可更好地划分和封装不同功能模块. 2.增强的概念Concepts对概念的语法进行了简化和改进使概念定义更清晰易懂能更精确地约束模板参数避免类型不匹配错误在模板元编程中的应用也得到增强提高了代码的灵活性和可复用性. 3.预处理指令的扩展新增了#elifdef、#elifndef、#warning等预处理指令提高了条件编译的清晰度和灵活性. #ifdef _WIN32 // 包含Windows平台相关的头文件 #include windows.h #elifdef __APPLE__ // 包含苹果平台相关的头文件 #include CoreFoundation/CoreFoundation.h #elifdef __linux__ // 包含Linux平台相关的头文件 #include stdio.h #endif 4.UTF-8 源文件编码规定 UTF-8 为可移植的源文件编码确保不同平台上字符表示的一致性. #include iostream #include string void setMenuItemTitle(std::string title) {std::cout 设置菜单标题为: title std::endl; } int main() {std::string frenchTitle Ouvrir;// 法语打开std::string germanTitle Öffnen;// 德语打开std::string chineseTitle 打开;setMenuItemTitle(frenchTitle);setMenuItemTitle(germanTitle);setMenuItemTitle(chineseTitle);return 0; } 在这个例子中无论是法语、德语还是中文的字符串都可以在 UTF - 8 编码的源文件中正确地表示和处理。这使得程序能够更好地适应全球化的需求并且在不同的操作系统和终端设备上只要它们正确地支持 UTF - 8 编码就能够正确地显示这些文本信息。
http://www.hkea.cn/news/14482970/

相关文章:

  • wordpress网站网速慢国内最好用免费建站系统
  • 石林彝族网站建设wordpress api 中文文档下载
  • 江苏省和住房城乡建设厅网站wordpress单页面静态
  • 网站上传该怎么做亚马逊入驻费用及条件
  • 上海建工网站债权债务交易网站开发
  • 网站主机提供商浙江省建设局网站
  • 小说阅读网站开发怎么做英文的网站
  • 理财产品网站开发文档营销网站特点
  • 南京网站制作设计百度推广代理商名单
  • 自己可以自己做公司的网站吗平面设计师作品网站
  • 电子商务网站开发步骤邯郸公司做网站
  • 建设公司网站需要多少钱中国域名注册中心
  • 网站模板建站教程视频做空比特币网站
  • 易语言 做的网站做网站需要去哪里备案
  • 做网站项目的流程驻马店百度seo
  • ppt做杂志模板下载网站有哪些教你免费申请个人平台
  • 网站推广费用怎么做分录郑州网站设计
  • 食品网站建设策划书齐家网和土巴兔哪家好
  • 国外的自建站平台是什么预付的网站开发费用怎么入账
  • 怎么做淘宝链接网站ui培训班教程
  • 苏州seo网站推广起名网站建设
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗个人网站建设的参考文献
  • seo资料站万能图片编辑器
  • 建个静态网站从哪里可以建公司网站
  • 淄博网站备案公司免费做网站教程
  • 做网站js是什么wordpress中footer函数
  • 珠海网站免费制作wordpress的字体大小
  • 天河门户网站建设公司网站建设关键词优化
  • 怎么注册一个公司网站网络运营商是什么意思
  • 外贸网站建设推广公司前景如何HTML怎么做网站目录