C++11 新特性 增加数据类型

news2025/9/21 5:58:23

一.C++11 新增加数据类型介绍 

在C++11中,新增了long long、unsigned long long、char16_t和char32_t等数据类型,它们可以支持更宽的整型和字符表示。

  1. long long:long long是一种整数类型,它至少可以存储64位(8字节)的整数。在大多数系统上,long long类型的范围是从-9223372036854775808到9223372036854775807。这意味着它可以存储比int类型更大的整数值。使用long long类型时,需要注意以下几点:
  • 声明long long变量时,需要在数据类型前加上关键字long long,例如:long long num;
  • 当需要将一个整数赋值给long long变量时,可以使用强制类型转换,例如:long long num = (long long)123456789012345;
  • 在进行数学运算时,如果涉及到long long类型的变量,结果也会是long long类型,例如:long long a = 10000000000LL; long long b = 20000000000LL; long long c = a * b;
  • 当需要将long long类型的变量转换为其他整数类型时,也可以使用强制类型转换,例如:int x = (int)num;

需要注意的是,虽然long long类型的范围很大,但在进行大数计算时,可能会导致溢出。因此,在处理大数时,需要谨慎使用long long类型。

  1. unsigned long long:unsigned long long是一种无符号整数类型,它至少可以存储64位(8字节)的整数。在大多数系统上,unsigned long long类型的范围是从0到18446744073709551615。使用unsigned long long类型时,需要注意以下几点:
  • 声明unsigned long long变量时,需要在数据类型前加上关键字unsigned long long,例如:unsigned long long num;
  • 当需要将一个整数赋值给unsigned long long变量时,可以使用强制类型转换,例如:unsigned long long num = (unsigned long long)123456789012345;
  • 在进行数学运算时,如果涉及到unsigned long long类型的变量,结果也会是unsigned long long类型,例如:unsigned long long a = 10000000000ULL; unsigned long long b = 20000000000ULL; unsigned long long c = a * b;
  • 当需要将unsigned long long类型的变量转换为其他整数类型时,也可以使用强制类型转换,例如:int x = (int)num;

需要注意的是,由于unsigned long long类型是无符号的,因此在进行数学运算时,需要注意不要出现负数的情况。

  1. char16_t和char32_t:char16_t和char32_t是C++11中新增的字符类型,它们分别表示16位和32位的Unicode字符。使用char16_t和char32_t类型时,需要注意以下几点:
  • 声明char16_t或char32_t变量时,需要在数据类型前加上关键字char16_tchar32_t,例如:char16_t ch;char32_t ch;
  • 当需要将一个字符赋值给char16_t或char32_t变量时,可以直接赋值,例如:char16_t ch = u'A';char32_t ch = U'A';
  • 在进行字符串操作时,可以使用std::u16string和std::u32string来表示UTF-16和UTF-32编码的字符串,例如:std::u16string str = u"Hello, world!";std::u32string str = U"Hello, world!";
  • 当需要将char16_t或char32_t类型的变量转换为其他字符类型时,可以使用强制类型转换,例如:char ch = (char)ch16;char ch = (char)ch32;

需要注意的是,由于char16_t和char32_t类型是Unicode字符类型,因此在进行字符串操作时,需要注意编码格式的问题。

二.新数据类型使用示例:

#include <iostream>
#include <cstdint>

int main() {
    // 使用long long类型
    long long num = 123456789012345LL;
    std::cout << "Long long: " << num << std::endl;

    // 使用unsigned long long类型
    unsigned long long uNum = 123456789012345ULL;
    std::cout << "Unsigned long long: " << uNum << std::endl;

    // 使用char16_t类型
    char16_t ch16 = u'A';
    std::cout << "Char16_t: " << ch16 << std::endl;

    // 使用char32_t类型
    char32_t ch32 = U'A';
    std::cout << "Char32_t: " << ch32 << std::endl;

    return 0;
}

运行结果:

        在上面的示例中,我们使用了long long、unsigned long long、char16_t和char32_t这些新数据类型来声明变量并输出它们的值。其中,long long和unsigned long long是长整型,可以表示更大的整数范围;char16_t和char32_t是字符类型,可以表示更多的字符集。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1503539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Offer必备算法12_链表_五道力扣题详解(由易到难)

目录 ①力扣2. 两数相加 解析代码 ②力扣24. 两两交换链表中的节点 解析代码 ③力扣143. 重排链表 解析代码 ④力扣23. 合并 K 个升序链表 解析代码1&#xff08;小根堆优化&#xff09; 解析代码2&#xff08;递归_归并&#xff09; ⑤力扣25. K 个一组翻转链表 解…

【从部署服务器到安装autodock vina】

注意&#xff1a;服务器 linux系统选用ubuntu 登录系统&#xff0c;如果没有图形化见面可以先安装图形化界面 可以参考该视频 --> linux安装图形化界面 非阿里云ubuntu 依次执行以下命令 sudo apt-get update sudo apt-get install gnome sudo reboot阿里云ubuntu 需多执…

Glip模型

Yolos 完全使用Transformer做目标检测 Detr 先使用CNN提取特征然后再使用transformerDetr和Yolos共同的缺点:需要事先知道所有的类别 Glip Zero-shot, 目标检测的类别可以不在训练类别中目标框进行视觉编码,然后和文本进行匹配文本和视觉特征是通过Clip模型提取的,所以视觉向…

从功能测试进阶自动化测试全套进阶指南,亲身经验分享

因为我最近在分享自动化测试技术&#xff0c;经常被问到&#xff1a; 功能测试想转自动化&#xff0c;请问应该怎么入手&#xff1f;有没有好的资源推荐&#xff1f; 那么&#xff0c;接下来我就结合自己的经历聊一聊我是如何在工作中做自动化测试的。&#xff08;学习路线放…

蓝桥杯python常用内置函数

一、 abs() #返回数字的绝对值 例&#xff1a; 二、 all() #判断给定的可迭代参数中的所有元素是否都为True&#xff0c;若是则返回True&#xff0c;反之返回False 例&#xff1a; 三、 any() #判断给定的可迭代参数是否都为False&#xff0c;全为False则返回False&am…

光明网发布稿件多少钱?新闻投稿低价渠道推荐,附光明网价格明细表

想要在光明网发稿&#xff1f;不知道费用是多少&#xff1f;媒介多多告诉你答案&#xff01; 在当今数字化时代&#xff0c;媒体平台的重要性日益突出&#xff0c;而光明网作为国内知名的新闻门户网站&#xff0c;吸引了大量的目标受众。许多企业和个人都希望能够在光明网上投…

Dubbo-记录

1.概念 Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题&#xff0c;官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力&#xff0c; 利用 Dubbo 提供的丰富服务治理…

【SQL】550. 游戏玩法分析 IV (关键点:确定连续两次登录)

前述 常见函数用法示例&#xff1a; DATEDIFF(col1, col2) 1DATE_ADD(MIN(col), INTERVAL 1 DAY)ROUND(3.1415926,3) > 四舍五入得到 3.142 题目描述 leetcode原题&#xff1a;550. 游戏玩法分析 IV 思路 确定连续两次登录统计&#xff0c;保留两位小数 写法一 关键…

FME快速批量提取图斑四至点,提取四至坐标,并输出shapefile数据的实现方法

目录 一、实现效果 二、实现过程 1.读取图斑 2.提取图斑坐标极值 3.提取图斑坐标 4.提取四至方位的坐标 5.创建四至点 6.输出成果 7.模板的使用 三、总结 在遇到需要提取图斑四至点的工作时&#xff0c;要如何进行方便快速的批量提取&#xff0c;方法有很多。今天…

webhook详解

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 webhook简介 在当今高度连接的网络世界中,没有什么可以孤立地发挥最佳作用。完成一项任务(几乎)总是需要多个实体的参与。电子商务应用程序需要与支付系统通信,支付…

【软件工程导论】——软工学绪论及传统软件工程(学习笔记)

&#x1f4d6; 前言&#xff1a;随着软件产业的发展&#xff0c;计算机应用逐步渗透到社会生活的各个角落&#xff0c;使各行各业都发生了很大的变化。这同时也促使人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而&#xff0c;软件的规模越大、越复杂&#xf…

【react框架】跟我一起速读Next.js官方入门教学课程文档

文章目录 前言目录结构样式方案正常引入样式文件Tailwind方案CSS Modules方案clsx方案 文字和图片优化文字图片 Pages和Layout的机制PagesLayout 通过Link组件改变路由并且拆分打包提供Hooks未完待续... 前言 对于那些对Next.js一无所知的前端伙伴来说&#xff0c;最佳的快速入…

IPsec VPN配置方式

一、手工方式建立 手工方式建立IPsec的场景&#xff0c;全部参数需要手工配置&#xff0c;工作量大&#xff0c;适用于小型静态网络。 当企业总部与分支通过FW1和FW2之间建立的IPsec隧道进行安全通信。 手工配置步骤主要有四个&#xff1a; ①定义需要保护的数据流&#xff1…

使用 Mendix 中的 OIDC 模块集成 Azure AD SSO

前言 在当今快速发展的数字化世界中&#xff0c;企业追求高效率和灵活性已成为常态。Mendix&#xff0c;作为一个先进的低代码开发平台&#xff0c;正是企业快速响应市场需求、加速数字化转型过程的利器。通过其直观的可视化开发环境&#xff0c;即使是非技术背景的用户也能设…

c#触发事件

Demo1 触发事件 <Window x:Class"WPFExample.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"Title"WPF Example" Height"600" Wi…

谷歌 Gemma 安装教程

目录 一、概述 二、安装 Ollama 三、安装 Docker 四、安装 Open WebUI 五、测试 结束 一、概述 Gemma 是谷歌推出了全新的开源模型。Gemma 是免费的&#xff0c;模型权重也一并开源了&#xff0c;并且允许商用&#xff0c;支持安装在本地&#xff0c;即使了断网依然使用…

PyQt5开发基础知识【一】

零.前言&#xff1a; 作者写这篇博客的目的主要在于巩固PyQt5的基础知识&#xff0c;例如PyQt5的几个核心模块&#xff0c;分别有什么功能&#xff0c;PyQt5的所有控件的使用方法等。 一.PyQt5的常见模块 1.1QtCore&#xff1a; 该模块包含了非GUI的功能设计。 这个模块被…

二 centos 7.9 磁盘挂载

上一步 一 windso10 笔记本刷linux cent os7.9系统-CSDN博客 笔记本有两个盘,系统装在128G的系统盘上,现在把另外一个盘挂载出来使用 lsblk 发现磁盘已经分好了,直接挂载就好了,参考文章:Centos7.9 挂载硬盘_centos7.9挂载硬盘-CSDN博客 永久挂载 lsblk -f分区格式化 mkfs…

图形库实战丨C语言扫雷小游戏(超2w字,附图片素材)

目录 效果展示 游玩链接&#xff08;无需安装图形库及VS&#xff09; 开发环境及准备 1.VS2022版本 2.图形库 游戏初始化 1.头文件 2.创建窗口 3.主函数框架 开始界面函数 1.初始化 1-1.设置背景颜色及字体 1-2.处理背景音乐及图片素材 1-3.处理背景图位置 2.选…

数据结构从入门到精通——队列

队列 前言一、队列1.1队列的概念及结构1.2队列的实现1.3队列的实现1.4扩展 二、队列面试题三、队列的具体实现代码Queue.hQueue.ctest.c队列的初始化队列的销毁入队列出队列返回队头元素返回队尾元素检测队列是否为空检测元素个数 前言 队列是一种特殊的线性数据结构&#xff…