sách gpt4 ai đã đi

c++ - C++中名称查找和名称绑定(bind)之间的区别

In lại 作者:行者123 更新时间:2023-11-30 05:15:13 27 4
mua khóa gpt4 Nike

在 C++ 中,名称绑定(bind)和名称查找之间有区别吗?工作草案 C++14 标准 (N4296) 将 (3.4) 中的名称查找定义为

Name lookup associates the use of a name with a declaration (3.1) of that name.

我在标准中找不到名称绑定(bind)的定义,但 IBM 知识中心的 XL C/C++ 编译器文档定义了:

Name binding is the process of finding the declaration for each name that is explicitly or implicitly used in a template.

这两个定义之间的唯一区别似乎是 (1) 名称绑定(bind)特指模板中使用的名称和 (2) 名称绑定(bind)指的是名称,而名称查找是指sử dụng 一个名字。

然而,C++标准中关于重载决议的部分(13.3)经常提到绑定(bind),但没有定义它。在此上下文中使用“绑定(bind)”的方式使得绑定(bind)似乎是指参数与函数参数的关联。

起初,这个定义似乎不同于其他两个定义,认为它符合(广泛地)名称查找的定义,如果我们假设chức năng的名称被绑定(bind)到它的通过比较参数和参数的类型来声明。这不完全是第 (13.3) 节中使用的意义,但我试图在没有适当定义的情况下理解标准。

简而言之,如果有人对“名称绑定(bind)”或“绑定(bind)”有一个很好的定义,我将不胜感激。

1 Câu trả lời

阅读了 Wilson & Clark Comparative Programming Languages 的相关部分后,我想我对这个主题有了更好的理解。如果我猜对了,术语“绑定(bind)”涵盖了所有相关术语,包括名称-声明绑定(bind)、名称-类型绑定(bind)、声明-引用绑定(bind)、引用-值绑定(bind)和名称-值绑定(bind)。

“名称查找”似乎是名称声明绑定(bind)的同义词。 C++14 标准中“绑定(bind)”的其他用途涉及其他绑定(bind)类型的各种组合。

如有错误请指正!

关于c++ - C++中名称查找和名称绑定(bind)之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195735/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com