为什么 typedef 不是强类型的?

2024-01-14

这是什么原因typedefs不是强类型的?是否有任何我看不到的好处,或者是由于向后兼容性?看这个例子:

typedef int Velocity;
void foo(Velocity v) {
    //do anything;
}
int main() {
    int i=4;
    foo(i); //Should result in compile error if strongly typed.
    return 0;
}

我并不是要求解决方法来获得强类型数据类型,而是只想知道为什么标准不需要typedefs强类型化?

谢谢。


因为 C 不是强类型的,而 typedef 源于这种思想

typedef 只是为了方便和可读性,它不会创建新类型。

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

为什么 typedef 不是强类型的? 的相关文章

随机推荐

  • 使用 Python unittest 缓存 setUp() 的结果

    我目前有一个unittest TestCase 看起来像 class test appletrailer unittest TestCase def setup self self all trailers Trailers res 720
  • RandomForestRegressor 和 feature_importances_ 错误

    我正在努力从我的 RandomForestRegressor 中提取特征重要性 我得到 属性错误 GridSearchCV 对象没有属性 功能重要性 有谁知道为什么没有属性吗 根据文档应该存在这个属性 完整代码 from sklearn e
  • 如何释放堆栈上的变量?

    有没有办法释放在堆栈上创建的变量和 或对象 我特意谈论的是堆栈而不是堆 我不想争论这是否有用或良好的做法 我只需要知道它是否可能 我知道当它超出范围时它会自动释放 我想在它超出范围之前取消分配它 我正在使用 C int a a deallo
  • 在 Protractor 中测试模板?

    编写适用于站点中每个页面的断言的最佳方法是什么 我正在测试网站的页脚中是否存在某个元素 因此该元素应该存在于所有页面上 我正在考虑编写一个单独的文件来测试网站的模板元素 然后将其包含在所有规范中 不过似乎没有其他人这样做 首先 为了编写更干
  • Zend Framework:未定义的类常量'MYSQL_ATTR_INIT_COMMAND'

    您可能已经知道 我从之前的问题中从 ubuntu 切换到了 windows 我之前在 ubuntu 上开发 Zend Framework 现在在 Windows 上开发同一个项目 由于这种切换 我在 Windows 中遇到了一些在 ubun
  • EntityTypeConfiguration如何获取关键属性?

    我正在使用 C EF 5 和 MVC4 我正在使用 EntityTypeConfiguration 设置主键和后端表 public class AuditZoneMap EntityTypeConfiguration
  • 为什么 ifstream 文件中的换行符(当通过此代码读取时)占用 2 个字节?

    我使用的文件有 15 行 每行 2 个字符 因此假设文件的大小约为 44 字节 但使用tellg 函数 大小显示为 58 此外 我累积了一个包含所有位置的数组代码正在识别一个换行符 它们都是连续的 因此证实了这个疑问 谢谢你 Tailfil
  • 我不明白为什么我得到 QPainter::begin: Widget Painting can only begin as a result of apaintEvent

    我一直在查看有关此错误的其他 StackOverflow 问题 以及网络上的其他地方 但我不明白这些答案与我的代码有何关系 因此 我希望有一个对我有意义的固定示例 或者更好地解释事件如何以及何时发生 下面的代码旨在计算出其运行的屏幕尺寸 调
  • 为什么这么多网站不允许在密码中使用非字母数字字符?

    在注册时 很多网站不允许在密码中使用符号 从可用性的角度来看 这让我陷入了困境 因为我在所有密码中都包含了多个符号 并且作为一名时不时处理网络身份验证的程序员 我不明白为什么不允许这样做 我错过了什么吗 他们担心 SQL 注入吗 不想处理转
  • 克隆 git 存储库时如何自动保留别名?

    我在 git 存储库的配置文件中设置了一堆方便的别名 我偶尔会克隆这个存储库 例如到我的笔记本电脑上 但克隆不包含我设置的任何别名 大概是因为克隆不会复制存储别名的 git 配置文件 但是 我希望在使用克隆时可以使用这些别名 而无需再次手动
  • 如何下载发送到 Telegram 机器人的文件或照片?

    我正在使用电报机器人 API 但无论如何我都看不到下载发送到我的机器人的文件 我得到了文件的哈希值 但不知道如何处理它 有什么办法吗 谢谢 现在可以使用了 https core telegram org bots api getfile h
  • 警告:将新 ns 映射到旧 ns 并且模拟器突然停止

    升级到 Arctic Fox 后 即使模拟器正在运行但有时会突然停止 我也会收到以下错误 这是什么错误 我怎样才能摆脱这个 我正在使用以下内容复制自cmd gt C Users Debasis gt flutter doctor Docto
  • 如何从xhr下载流媒体视频

    I d like to download a video from a site that uses flowplayer When I inspect the element I get something like So we can
  • Javascript OOP 最佳实践? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • TypeError:调用元类基时出错新样式类不能只有经典基

    类的集合定义为 class A staticmethod def call print a class C type def repr self return somename class B A metaclass C staticmet
  • 基于匹配多个数据集中的多个条件和日期范围添加列

    我一直在努力寻找解决这个问题的最佳方法 为了概括这个问题并帮助其他可能需要执行类似任务的人 我试图找到将列添加到第三个数据集的最佳方法 该方法基于中间数据集中的匹配 并且属于第三数据集的日期范围 最终结果是将第三个数据集中的匹配值返回到第一
  • SSRS 2008 R2 - 从报表服务器链接以纵向而不是横向打印

    我的一份 SSRS 报告有一个问题 如果我直接从服务器打印 它会以纵向打印 从而切断报告的左侧 基本上 它似乎会打印右侧 并尽可能打印到左侧页面内 报告的其余部分并不像打印在单独的页面上那样 如果我导出为 PDF 并打印它工作正常 它似乎只
  • 为 android 4.1 设备编译和构建“iw”?

    我需要在 android 4 1 设备上安装 iw 无线软件包 但我不知道如何安装以及安装所需的软件包版本是什么 是否需要 Linux 平台来执行此操作 或者在 adb shell 上构建并安装 Android 生根设备就足够了 我看到这个
  • 错误:带有 ORDER BY 子句的聚合窗口函数需要框架子句

    在 Redshift 上输入以下查询时 我收到 错误 带有 ORDER BY 子句的聚合窗口函数需要框架子句 消息 请帮忙 我正在尝试查看从第一天到今天会员的成长情况 谢谢 select date timestampregistered c
  • 为什么 typedef 不是强类型的?

    这是什么原因typedefs不是强类型的 是否有任何我看不到的好处 或者是由于向后兼容性 看这个例子 typedef int Velocity void foo Velocity v do anything int main int i 4