news 2026/5/14 3:04:49

C++ std::is_pointer 完整用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++ std::is_pointer 完整用法

1. 头文件

必须引入:

cpp

运行

#include <type_traits> #include <iostream>

2. 核心语法

老式写法(C++11)

cpp

运行

std::is_pointer<T>::value

简化写法(C++17 推荐)

cpp

运行

std::is_pointer_v<T>

返回booltrue是指针类型,false不是。


3. 判断类型是不是指针

cpp

运行

#include <type_traits> #include <iostream> int main() { std::cout << std::boolalpha; // 普通类型 std::cout << std::is_pointer_v<int> << '\n'; // false std::cout << std::is_pointer_v<double> << '\n'; // false // 一级指针 std::cout << std::is_pointer_v<int*> << '\n'; // true std::cout << std::is_pointer_v<double*> << '\n'; // true // 二级指针 也是指针 std::cout << std::is_pointer_v<int**> << '\n'; // true // 引用不是指针 std::cout << std::is_pointer_v<int&> << '\n'; // false // 数组不是指针 std::cout << std::is_pointer_v<int[5]> << '\n'; // false return 0; }

4. 判断变量是不是指针

decltype(变量)取变量类型,再给is_pointer

cpp

运行

int main() { int a = 10; int* p = &a; int& r = a; std::cout << std::boolalpha; std::cout << std::is_pointer_v<decltype(a)> << '\n'; // false std::cout << std::is_pointer_v<decltype(p)> << '\n'; // true std::cout << std::is_pointer_v<decltype(r)> << '\n'; // false }

5. 模板中做类型分支(编译期判断)

cpp

运行

template <typename T> void checkType() { if constexpr (std::is_pointer_v<T>) { std::cout << "这是指针类型\n"; } else { std::cout << "不是指针类型\n"; } } // 调用 checkType<int>(); checkType<int*>(); checkType<int**>();

6. 关键注意点

  1. std::is_pointer只识别原生指针T*
    • 智能指针std::shared_ptr/std::unique_ptr判断为 false
  2. 引用T&不是指针,判 false
  3. 数组T[N]不是指针,判 false
  4. 编译期判断,无运行时开销

7. 一句话记忆

  • 类型直接填:std::is_pointer_v<int*>
  • 变量用decltype包一层:std::is_pointer_v<decltype(var)>
  • C++17 用_v后缀更简洁。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 3:01:04

零碳园区的能源供给成本主要包括哪些方面?

零碳园区的能源供给以“绿色低碳、协同高效”为核心&#xff0c;区别于传统园区以化石能源为主的供给模式&#xff0c;其成本构成更具多样性和综合性&#xff0c;涵盖“前期建设投入、中期运营消耗、后期维护补充”全生命周期&#xff0c;且与绿电布局、技术选型、政策导向密切…

作者头像 李华
网站建设 2026/5/14 2:53:15

三个月换了四款选品工具,我终于找到了适合新手的那个

一个Ozon小卖家的真实踩坑经历&#xff0c;希望能让你少走弯路。去年这个时候&#xff0c;我刚注册Ozon店铺&#xff0c;兴冲冲地在网上搜“Ozon选品工具”。看到一堆推荐&#xff1a;萌啦、Seerfar、店小秘、爆单AI……每家都说自己好。我心想&#xff0c;都试试呗&#xff0c…

作者头像 李华
网站建设 2026/5/14 2:50:40

Skeleton UI:基于Svelte与Tailwind的现代化Web组件库实践

1. 项目概述&#xff1a;一个现代Web UI的骨架如果你最近在关注前端开发&#xff0c;特别是那些追求极致性能、现代设计语言和开发者体验的团队&#xff0c;那么“Skeleton”这个名字可能已经不止一次地出现在你的视野里。它不是指我们身体里的那副骨架&#xff0c;而是由Skele…

作者头像 李华
网站建设 2026/5/14 2:48:43

NVIDIA NeMo Curator:GPU加速的大规模AI数据策展平台实战指南

1. 项目概述&#xff1a;为什么我们需要一个“数据策展”工具&#xff1f;如果你正在训练一个大型语言模型、一个多模态模型&#xff0c;或者任何需要海量数据的AI模型&#xff0c;那么你肯定对“数据准备”这个环节又爱又恨。爱的是&#xff0c;高质量的数据是模型性能的基石&…

作者头像 李华
网站建设 2026/5/14 2:43:07

Java程序员如何优化系统性能?

上月公司来了一位大佬&#xff0c;入职不到一周就把公司现有项目的性能优化了一遍&#xff0c;直接给公司节省了一半的成本。一问情况&#xff0c;才知道这位仁兄也是一路被虐过来的。去年年底被裁&#xff0c;本以为自己技术还行&#xff0c;看了一段时间面经&#xff0c;复习…

作者头像 李华