什么是c++(泛型(c/c++) vs(泛型c)/c++) ?

  • 本文关键字:c++ 泛型 vs c++
  • 更新时间 :
  • 英文 :


我是一名编程专业的学生,偶尔会遇到:Generic C,这是否意味着只是普通的经典C?

"任何重要软件中结构的通用c/c++实现"

通常出现在这样的上下文中;我很确定我只是误读了(generic c)/c++而不是:generic (c/c++)。看起来它可能指的是一组库。谢谢你的回复。

不存在" C/c++ "这种语言。

一般来说(双关语)意味着使用它的来源并不真正可信。这仍然适用于"通用的"

"任何重要软件中结构的通用c/c++实现"

:)

这不是关于泛型C或泛型c++的,而是关于可以在C或c++中编译的代码结构的泛型实现。

这是英语语言的歧义

我不认为对"通用C"一词有一个公认的解释。它当然不是一个正式的或专业的术语,所以你只能试着从上下文中推断作者的意图。

我最好的猜测是,它可能通常意味着非平台特定的C,在这种情况下,它既适用于C,也适用于c++。

通用方法的例子是

template<typename T, size_t N>
struct array {
    T e[N];
    T* begin() {return e;}
    T* end() {return e+N;}
    size_t size() const {return N;}
};
...
array<int, 2> a1 = {1, 2};
array<double, 2> a2 = {10.0, 2.0};
如您所见,数组定义与类型和大小无关。这样的构造器/函数被命名为"泛型"。因此,任何使用这种方法的技术都可以被命名为"通用"。

最新更新