文章 2024-07-25 来自:开发者社区

C++为什么有参数依赖查找(ADL)?

从一个编译问题说起: shell 代码解读 复制代码 xxx.cc:100: error: reference to 'sort' is ambiguous    sort(vec_.begin(), vec_.end(), std::less<double>()); yyy.h:5 note: candidate found ...

C++为什么有参数依赖查找(ADL)?
文章 2023-06-20 来自:开发者社区

C++11之内联名字空间(inline namespace)和ADL特性(Argument-Dependent name Lookup)

场景需求在早期C项目中,我们常常会因为命名冲突问题需要有一个“字典”来存储所用过的变量。这是因为在C语言中非静态全局变量、函数都是全局共享的。C++就通过命名空间(也叫名字空间)来解决C语言中这个头疼的问题。实现分割全局共享的命名空间。程序员在编写代码时可以自己设置命名空间,使用者只需要通过空间名::函数/变量或者using namespace 空间名就可以使用(推荐使用前者方法)。但是,当我们....

C++11之内联名字空间(inline namespace)和ADL特性(Argument-Dependent name Lookup)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问