首页 > 编程语言 >只谈C++11新特性 - nullptr

只谈C++11新特性 - nullptr

时间:2024-12-21 09:03:26浏览次数:7  
标签:11 std int nullptr 只谈 NULL ptr 指针

nullptr

在 C++11 标准中,引入了 nullptr 关键字,用来表示空指针。这是对原有 NULL 的重要改进,提供了更强的类型安全性,并避免了一些常见的编程错误。

1. nullptr 的特点

  • nullptr 是一种新类型 std::nullptr_t 的常量,用于表示空指针。
  • NULL 不同,nullptr 具有明确的指针类型,不会被错误地解释为整数。
  • 它可以用于所有需要空指针的上下文中,比如初始化指针、函数重载等。

示例代码

#include <iostream>
#include <type_traits> // std::is_same

int main() {
   
    int* ptr = nullptr; // 使用 nullptr 初始化指针
    if (ptr == nullptr) {
   
        std::cout << "ptr 是一个空指针。" << std::endl;
    }

    // 检查 nullptr 的类型
    if (std::is_same<decltype(

标签:11,std,int,nullptr,只谈,NULL,ptr,指针
From: https://blog.csdn.net/magicworkshop/article/details/144624264

相关文章

  • 伏羲0.11(文生图)
    完善伏羲0.1代码,包括添加中文注释、增强错误处理、改进GUI部分、使用CUDA加速,并确保代码符合PEP8规范。以下是改进后的代码:importosimportyamlimporttorchimporttorch.optimasoptimimporttorch.nnasnnimporttorchvision.transformsastransformsimportp......
  • Linux下跨语言调用C++实践11
       1背景查询理解(QU,QueryUnderstanding)是美团搜索的核心模块,主要职责是理解用户查询,生成查询意图、成分、改写等基础信号,应用于搜索的召回、排序、展示等多个环节,对搜索基础体验至关重要。该服务的线上主体程序基于C++语言开发,服务中会加载大量的词表数据、预估模型等,......
  • Luogu P8112 [Cnoi2021] 符文破译 题解 [ 蓝 ] [ KMP ] [ 线性 dp ] [ 决策单调性 dp
    符文破译:KMP+dp的好题。暴力dp不难打出一个暴力dp:设计\(dp_i\)表示当前前\(i\)位全部完成了匹配,所需的最小分割数。转移也是简单的,我们在KMP的过程中进行dp转移,每次选取next不断跳向再前面的next,然后进行转移即可。很显然一个字符集大小为\(1\)的串就能轻松......
  • 制造业高质量发展水平原始数据+结果(2011-2022年)
    资源介绍[1]数据简介技术创新包括:研发投入强度(规模以上工业企业R&D经费支出/规模以上工业企业主营业务收入)、人均发明专利数(发明专利数量/规模以上工业企业)、研发人员投入力度(R&D人员数规模以上工业企业R&D人员数/制造业从业人数)绿色发展包括:单位增加值能源消耗量(煤炭实物......
  • C++ 11(1)
    1.C++11的发展历史2.列表初始化2.1C++98传统的{}C++98中⼀般数组和结构体可以⽤{}进⾏初始化。2.2C++11中的{}•C++11以后想统⼀初始化⽅式,试图实现⼀切对象皆可⽤{}初始化,{}初始化也叫做列表初始化。•内置类型⽀持,⾃定义类型也⽀持,⾃定义类型本质是类型转换,中间会......
  • BMC PSL function(11)-%PSL
    %PSL含义:Executesaone-linePSLstatement.Format%PSLstatementParameterParameterDefinitionstatementoneormorePSLstatementsorbuilt-infunctionsthataretobeexecuted.The%PSLcommandandstatementmustfitonasingleinputline.Description......
  • Solution - Luogu P11393 [JOI Open 2019] 送金
    下标默认是在\(\bmod\n\)意义下的。考虑到如果\(a_i>b_i\)那么不可能只操作\(a_{i-1}\)使得\(a_i\)合法,因为这只增不减。于是这说明当\(a_i>b_i\)时一定会操作\(a_i\)使得\(a_i\leb_i\)。但是同时如果\(b_i-a_i\)太大了,\(a_{i-1}\)就不一定能操作......
  • Win11系统字体更改方法教程
    Win11系统字体更改方法教程在Windows11系统中,个性化设置是许多用户追求的一大乐趣。其中,更改系统字体不仅能够提升视觉体验,还能让系统界面更加符合个人喜好。本文将详细介绍如何在Windows11系统中更改系统字体,帮助用户轻松实现个性化设置。一、准备工作在更改系统字体......
  • 「ARC112D」 Skate
    题意一个长\(h\)宽\(w\)的地图,#代表陆地,.代表冰面,如果人在陆地上可以向任何方向转向,否则只能一直滑到边缘然后在边缘选择转向。现在可以花费\(1\)的代价把一块冰面改为陆地,求最少花费多少代价使得人从任何地方出发都可以滑到所有地方。分析显然只会选择垂直转向,因为掉......
  • 「UVA11107」 Life Forms
    题意给\(n\)个字符串,求最长的在超过\(\lfloor\frac{n}{2}\rfloor\)个串里出现的子串,若有多个按字典序排序后输出;若不存在输出?。分析不理解这么水的题为什么要用后缀数组。预处理每个串的Hash值,二分子串长度,变成判定存不存在的问题。枚举每个串的子串起始位置,用unord......