问题标签 [typedef]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2030 浏览

c - 在 C 中为 typedef 枚举添加预定义数据

在 C 中为 typedef 枚举定义附加数据的最佳方法是什么?

例子:

现在我想为每个定义名称,例如kVizsla应该是“vizsla”。我目前使用一个使用大开关块返回字符串的函数。

0 投票
10 回答
7744 浏览

c - 你如何阅读 C 声明?

我听说过一些方法,但没有一个能成功。就我个人而言,我尽量避免使用 C 中的复杂类型,并尝试将它们分解为组件 typedef。

我现在面临维护一些来自所谓的“三星级程序员”的遗留代码,而且我很难阅读一些 ***code[][]。

您如何阅读复杂的 C 声明?

0 投票
9 回答
1021 浏览

c# - 在c#中使用继承而不是名称别名是否正确?

换句话说,是否正确使用:

代替:

我宁愿使用第一种方法,因为我只定义了一次 CustomerList,每次我需要一个客户列表时,我总是使用相同的类型。另一方面,使用名称别名方法不仅迫使我不得不在任何地方重新定义它,而且每次有人想要使用它时都可以给一个不同的别名(想想一个大团队),从而导致代码可读性差。

请注意,这种情况下的意图绝不是扩展类,而只是创建一个别名。

0 投票
11 回答
235070 浏览

c# - C# 中 typedef 的等价物

C# 中是否有 typedef 等效项,或者以某种方式获得某种类似的行为?我做了一些谷歌搜索,但我所看到的所有地方似乎都是负面的。目前我的情况类似于以下:

现在,不需要火箭科学家就能发现,在尝试为该事件实现处理程序时,这会很快导致大量输入(为可怕的双关语道歉)。它最终会是这样的:

除了在我的情况下,我已经使用了一个复杂类型,而不仅仅是一个 int。如果可以稍微简化一下就好了...

编辑:即。也许对 EventHandler 进行类型定义,而不是需要重新定义它以获得类似的行为。

0 投票
5 回答
610 浏览

c++ - 模板类的类型定义?

是否可以typedef长类型使用模板?例如:

这不起作用,但是有没有办法达到类似的效果?我只是想避免键入和阅读几乎覆盖了我的编辑器窗口整个宽度的类型定义。

0 投票
15 回答
599184 浏览

c - 为什么我们要在 C 中如此频繁地对结构进行 typedef 呢?

我见过许多由如下结构组成的程序

为什么经常需要它?有什么具体原因或适用范围吗?

0 投票
4 回答
3582 浏览

c++ - 污染全局命名空间

我认为这里的大多数 C++ 程序员都会同意污染全局命名空间是一个坏主意,但是有时可以忽略此规则吗?

例如,我有一个需要在整个特定应用程序中使用的类型 - 我应该这样定义它:

或者使用命名空间:

你喜欢哪个?有时可以接受使用第一种方法吗?

0 投票
9 回答
16873 浏览

c - 在 C 中强制执行强类型检查(typedefs 的类型严格性)

有没有办法对相同类型的 typedef 强制执行显式转换?我必须处理 utf8,有时我对字符数和字节数的索引感到困惑。所以最好有一些 typedef:

此外,您需要在它们之间进行显式转换:

我知道 C 中不存在这样的功能,但也许您知道这样做的技巧或编译器扩展(首选 gcc)。


编辑 我仍然不太喜欢匈牙利符号。由于项目编码约定,我无法将它用于这个问题,但我现在在另一个类似的情况下使用它,其中类型也相同并且含义非常相似。我不得不承认:它有帮助。我永远不会去声明每个整数都以“i”开头,但就像 Joel 的重叠类型示例一样,它可以挽救生命。

0 投票
9 回答
210984 浏览

c++ - 为什么在 C++ 中声明枚举时使用 typedef?

我已经好几年没有写过任何 C++ 了,现在我正试图重新开始使用它。然后我遇到了这个并考虑放弃:

这是什么?为什么在typedef这里使用关键字?为什么该名称TokenType在此声明中出现两次?语义与此有何不同:

0 投票
5 回答
7699 浏览

c++ - typedef a std::string - 最佳实践

我正在用标准 C++ 编写一个库来进行语音转换。到目前为止,我已经使用了 std::string 。但是将来我可能不得不将其更改为其他内容(std::wstring 或其他内容)。所以我需要以一种可以轻松切换的方式编写我的库。到目前为止,我已经完成了以下工作来实现这一目标。

  1. 创建了一个所有 CPP 文件都将使用的头文件
  2. 为此添加了“typedef std::string”,并在文件中的任何地方使用了新名称。

如果我需要更改类型,我可以简单地在头文件中更改,它会在任何地方反映出来。如果有人能看到这是正确的方法或者有更好的方法来做到这一点,我将不胜感激?

谢谢