相当于其他编译器中 MSVC 的 _countof 吗?

2023-12-30

是否有任何内置的等价物_countof http://msdn.microsoft.com/en-us/library/ms175773(v=VS.100).aspx由其他编译器提供,特别是 GCC 和 Clang?有没有非宏观形式?


使用C++11,非宏形式为:

char arrname[5];
size_t count = std::extent< decltype( arrname ) >::value;

And extent可以在type_traits header.

或者,如果您想让它看起来更好一点,请将其包装在以下内容中:

template < typename T, size_t N >
size_t countof( T ( & arr )[ N ] )
{
    return std::extent< T[ N ] >::value;
}

然后就变成了:

char arrname[5];
size_t count = countof( arrname );

char arrtwo[5][6];
size_t count_fst_dim = countof( arrtwo );    // 5
size_t count_snd_dim = countof( arrtwo[0] ); // 6

Edit:我只是注意到“C”标志而不是“C++”。所以,如果你是为了 C 而来,请忽略这篇文章。谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相当于其他编译器中 MSVC 的 _countof 吗? 的相关文章

  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 总和不小于 key 的数组的最小子集

    给定一个数组 假设为非负整数 我们需要找到最小长度子集 使得元素之和不小于 K K 是作为输入提供的另一个整数 是否有可能找到时间复杂度为 O n n 的大 oh 的解决方案 我目前的想法是这样的 我们可以在 O n log n 中对数组进
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 带 D3 (v4) 直方图函数的胖尾意味着空箱

    我正在尝试充分利用 D3 直方图函数 但由于笨拙的肥尾数据分布而陷入困境 这data points下面的数组涉及多年来的国家人口密度 像香港这样人口密度高的城市是造成 肥尾 的原因 我想将数据分成八个单独的桶 我没有指定一个域 我假设直方图
  • 如何使用 NHibernate 模式生成更新数据库表模式?

    我试图弄清楚如何使用 NHibernate 配置和映射来更新表模式 而不是删除并重新创建它们 目前我正在使用NHibernate Tool hbm2ddl SchemaExportobj 使用 FluentNHibernate 生成 mys
  • 相当于给定 wget 命令的 Python

    我正在尝试创建一个与 wget 命令执行相同操作的 Python 函数 wget c read timeout 5 tries 0 URL c 如果下载中断 则从上次中断的地方继续 read timeout 5 如果超过 5 秒没有新数据传
  • 如何在React js文本区域内渲染漂亮的json数据?

    我是 React js 新手 我在渲染文本区域内漂亮的 json 数据时遇到问题 我不知道哪一部分是错误的 我希望我的 Prettyjson 像这样在 textarea 内渲染 email email protected cdn cgi l
  • 首先使用代码禁用整数主键上的标识(自动递增)

    我在 ASP NET MVC 3 应用程序中使用代码优先方法 并在模型中使用所有整数主键 public int Id get set 默认情况下配置为自动递增的身份 如何禁用此功能并启用手动输入主键整数的方法 实际情况是Id整数具有特殊的含
  • 如何摆脱这个 Do-While 循环?

    我有这个基本的 Arduino 代码 我想要退出此 Do While 循环的 2 个选项 我简化了原始代码以突出真正的问题 Do While无法识别 OR 退出循环的条件 在此代码中 我从两个等于 0 的整数变量开始 一旦它们进入 Do W
  • Git 推送结果致命:协议错误:错误的行长度字符:这

    我正在尝试让 GitLab 在我的服务器上运行 运行 CentOS 6 5 我跟着gitlab 菜谱 https github com gitlabhq gitlab recipes blob master install centos R
  • 如何创建一个包含纬度和经度的数组,并使用for循环来标记android中谷歌地图上的位置

    我刚刚开始在 android 中编码 经过很长一段时间 我让我的谷歌地图可以工作 并且能够在上面放置标记 接下来我想做的是创建一个 latlng 数组并使用 for 循环在谷歌地图上放置一个标记 我不知道该怎么做 有人可以帮助我吗 到目前为
  • 更改 Windows 中的默认 MySQL 用户

    如果我运行mysql or mysqldump从命令提示符运行程序 我在 Windows 中得到这个 ERROR 1045 28000 Access denied for user ODBC localhost using password
  • 内联三元运算符不起作用

    由于某种原因 我的三元运算符分配不适用于数组的第二部分 有人看到我做错了什么吗 它应该只是查看永久链接字段是否有值 如果没有则插入link url进入数组 function getSiteMap this gt db gt select s
  • Firefox 中的文本描边和阴影 CSS3

    我想知道是否有一种方法可以在文本中添加描边和阴影 我可以让它在 Chrome 和 Safari 中工作 因为 webkit 支持文本描边和文本阴影 我可以在 Firefox 中显示笔划 但那是使用文本阴影并使用偏移量 那么有人知道解决这个问
  • 将日期和时间数字转换为 time_t 并指定时区

    我有以下整数 int y mon d h min s 他们的价值观是 2012 06 27 12 47 53分别 如果我在应用程序中的其他地方选择了 UTC 我想表示 2012 06 27 12 47 53 UTC 的日期时间 或者如果我在
  • 如何通过 SAX XML Schema Validator 的验证消息进行内部化?

    我使用此代码根据 XSD 验证 XML SchemaFactory factory SchemaFactory newInstance http www w3 org 2001 XMLSchema Schema schema factory
  • Excel 复制到 Word VBA

    我正在使用宏记录器处理一些代码 在单词中 它总是以选择开头 本文说我应该能够将文档分配给一个变量 然后将其插入到 Selection 之前 但是 在我输入文档变量后 选择方法不会出现在 VBE 中 第一次使用 Selection 对象 Se
  • 如何在 VB.NET 中使用多种字体样式组合?

    如果我想设置我的字体 我可以使用 new Font Times New Roman 12 Drawing FontStyle Bold 我可以使用斜体 常规或下划线代替粗体 但我想同时使用粗体和斜体 我怎样才能做到这一点 The FontS
  • wx 0.90.0.1 无法在 Haskell Platform 2012.2.0.0 (WinXP) 上安装

    我尝试使用 cabal install wx 在 Haskell Platform 2012 2 0 0 上安装 WX 0 90 0 1 但得到以下结果 Configuring wxc 0 90 0 4 setup exe wx confi
  • AspectJ:验证错误

    我正在尝试面向方面的编程 我已经安装了AspectJ 插件 http eclipse org aspectj index php在 Eclipse 中并遵循本中提到的所有步骤tutorial http sites google com si
  • 无效的二进制或无效的 Swift 支持

    将应用程序发送到应用程序商店以供批准后 我在 iTunes Connect 中收到消息 无效的二进制文件 然后我在 Apple 发来的电子邮件中收到以下消息 无效的 Swift 支持 该捆绑包包含无效的 Swift 实现 该应用程序可能是使
  • Chart.js x 轴线性比例:奇怪的行为

    我正在尝试在 Chart js 图表中的 x 轴上使用线性刻度 我添加了一些代码 因为 stackoverflow 使其在添加 jsfiddle url 时必须这样做 但我不明白这一点 var options scales xAxes ty
  • 相当于其他编译器中 MSVC 的 _countof 吗?

    是否有任何内置的等价物 countof http msdn microsoft com en us library ms175773 v VS 100 aspx由其他编译器提供 特别是 GCC 和 Clang 有没有非宏观形式 使用C 11