腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
我应该专门化或者
重载
命名
空间
中定义
的
模板
,比如‘`std::swap`’吗?
、
、
如果我有某种类类型,例如管理资源,并且我
的
类需要定义一个swap()
函数
作为其接口
的
一部分,该接口可以工作于该类型
的
对象,那么我通常会这样做:} using std::swap; swap(f1, f2);现在,我是
重载
我了解到,如果我想专门化
标准
库
的
函数
浏览 2
提问于2021-04-05
得票数 4
3
回答
非会员操作人员超载应放在何处?
、
、
我想让我
的
班里
的
operator<<超负荷。我应该将这个
重载
的
定义添加到std
命名
空间
中吗?(因为ostream operator<<是std名称
空间
的
一部分),还是应该将它留在全局
命名
空间
中?提前感谢您
的
回复。
浏览 0
提问于2010-09-02
得票数 17
回答已采纳
2
回答
重载
命名
空间
标准
中
的
函数
模板
、
、
、
、
这里有关于
函数
专门化
的
讨论:#include <cmath> class Y { };
浏览 35
提问于2021-05-31
得票数 3
1
回答
为用户定义
的
枚举覆盖std::to_string是否是为用户定义
的
枚举提供to_string
的
正确方式?
、
、
C++没有办法获得枚举
的
字符串表示。人们通过编写包含大量样板代码
的
自定义
函数
来解决此问题当然,这需要枚举
的
用户知道自定义
函数
的
名称。所以我想我可以向std::to_string添加一个专门化,使用户能够在我
的
枚举上使用to_string。
浏览 2
提问于2013-06-17
得票数 19
回答已采纳
1
回答
自定义类型
的
重载
标准
数学
函数
假设我正在编写一个类,表示一个数学对象,为此定义各种
标准
操作是有意义
的
。
标准
似乎只允许对std
命名
空间
中
的
函数
进行
模板
专门化,这意味着我不允许为类编写自己
的
std::pow
重载</em
浏览 8
提问于2014-01-26
得票数 6
回答已采纳
1
回答
使用类指针
重载
的
C++
命名
空间
函数
模板
专门化替代方案?
、
、
、
所以我遇到了一个问题,使用
函数
模板
专门化迫使我在与
函数
模板
相同
的
名称
空间
中编写
函数
。我不能这样做,因为其他一些代码需要在另一个特定
的
名称
空间
中定义一些
函数
模板
。为了解决
命名
空间
问题,我尝试使用
函数
重载
。此外,这些
函数
的
返回值需要为constexpr,所以我不能使用类引用
重载
,
浏览 1
提问于2018-08-09
得票数 0
回答已采纳
1
回答
是否合理超载性病功能,如std::距离?
、
、
我有一个符合双向迭代器需求
的
自定义迭代器类(但不是随机访问)。然而,两个迭代器
的
距离也可以在恒定时间内找到。从概念上讲,it2 - it1是有效
的
,但it += n不是(这两个操作符
重载
实际上都没有实现)。 允许
标准
库算法使用这个迭代器有效地计算距离,过载std::distance()是否合理?我发现了关于篡改std
命名
空间
的
合适性
的
相互矛盾
的
信息。
浏览 2
提问于2017-10-31
得票数 1
回答已采纳
2
回答
在字符串
的
stl算法
中
重新定义<运算符
、
、
、
是否可以在不修改std名称
空间
的
情况下重新定义字符串
的
operator <,从而使该操作符在
标准
算法中使用?但是,如果我将operator <从std名称
空间
移出,将使用默认
的
operator <,并且不会打印任何内容。是否可以使用自定义
的
std::sort而不将其包含到std
命名
空间
中?是的,我知道,我可以把另一个比较器传递给std::sort,但是如果我能按照我
的
要求和怎么做,这对我来说是很有趣
浏览 0
提问于2017-06-06
得票数 4
回答已采纳
2
回答
命名
空间
会导致次优
模板
重载
解析。
、
、
、
简而言之,我看到编译器选择了一个泛型
函数
模板
实例化,而不是当
函数
模板
位于
命名
空间
中时,一个更特定
的
重载
。从实例化上下文和定义上下文中来自与
函数
参数类型关联
的
命名
空间
的
声明。事实上,在定义了class UtilForDoingStuff
重载
之后移动doStuff定义似乎解决了这个问题。 但是,
标准
中
的</
浏览 4
提问于2015-08-26
得票数 2
回答已采纳
1
回答
模板
专门化未进行
; cout << max(4,4.2) << endl; return 0;以上代码
的
输出是
浏览 5
提问于2022-03-21
得票数 -5
回答已采纳
2
回答
为什么全局merge()
函数
与std::merge()冲突?
、
、
clang-500.2.78) (based on LLVM 3.3svn)Thread model: posix 为什么对merge
的
调用模棱两可我
的
merge
函数
位于全局
命名
空间
中,我认为它不会与std名称
空间
中
的
任何内容发生冲突(因为这是名称
空间
的
要点,对吗?)如果我将a更改为与其他数组一样
的
int数组,则它编译时没有任何歧义。所以我
浏览 2
提问于2013-10-28
得票数 5
回答已采纳
1
回答
在std
命名
空间
中
重载
(不专门化)
模板
、
、
、
这是非常迂腐
的
,但在C++03
中
,一个程序显然不符合
重载
(不是专门化),这是std
命名
空间
中
的
模板
函数
:参见对和
的
提及。也就是说,这是可以
的
:{ void swap (Foo & f, Foo & g) // ...<typename T> void sw
浏览 4
提问于2013-02-27
得票数 8
回答已采纳
1
回答
遗留
的
标准
C库头和
重载
的
C++
函数
、
、
C++语言
标准
用D.5表示 2每个C标头(每个标题都有表单name.h
的
名称)
的
行为就好像相应
的
cname标头放在
标准
库名称
空间
中
的
每个名称都放在全局名称
空间
范围内一样。3示例:标题<cstdlib>无疑在名称
空间
std中提供了它
的
声明和定义。它还可以在全局
命名
空间
中提供这些名称。头<stdlib.h>无疑在全局
命名
空间
浏览 2
提问于2014-11-06
得票数 5
回答已采纳
2
回答
为什么我能够使用std名称
空间
中
的
名称,即使我正在“使用名称
空间
std;"?
、
、
算法头文件
中
不是已经有一个max
函数
了吗?通过using namespace std;,我将
函数
导入到全局
命名
空间
(这需要参数,在本例
中
这两个
函数
都是整数,所以不应该是
重载
)。那么为什么没有
命名
冲突呢?
浏览 3
提问于2021-04-29
得票数 5
回答已采纳
2
回答
函数
模板
的
名称在查找之前
的
名称时是否应该可见::?
、
、
,在::之前
的
名称查找“只考虑名称
空间
、类型和
模板
,其专门化为类型”。来自C++工作草案
标准
n3337 类或
命名
空间
成员或枚举数
的
名称可以在应用于嵌套名称说明符(表示其类、
命名
空间
或枚举)
的
::范围解析运算符(5.1如果嵌套名称说明符
中
的
::作用域解析操作符前面没有解密类型说明符,则查找该名称之前
的
名称:
浏览 5
提问于2013-08-19
得票数 9
5
回答
应该在std名称
空间
中
重载
交换吗?
、
我今天读到了一些有趣
的
东西,其中说对用户提供
的
类型(作为
模板
参数提供
的
)调用交换
的
“
标准
”方法是.swap(something, soemthingelse); 这样做
的
原因是使用依赖于参数
的
查找,要么在用户名称
空间
中使用swap
函数
,要么在std
命名
空间
中使用swap。这使我产生了一个有兴趣
的
问题。当我为我
的
浏览 5
提问于2013-01-18
得票数 21
回答已采纳
1
回答
C++
中
奇怪
的
重载
规则
、
、
、
、
(4.3.10.1 Beta2,严格C++03,无C++0x)为什么GCC甚至认为std::sort 是一个有效
的
过载?main() bar(foo::iterator_a()); // this compiles} 我
的
猜测是所以GCC可能使用类似iterator_b
的
东西,而Comeau可能使用iterator_a。
浏览 3
提问于2010-05-28
得票数 4
回答已采纳
1
回答
C++ count_if
函数
-无法推断
模板
我试图使用C++
的
count_if
函数
来查看std::string中有多少十六进制数字。我知道::
的
前缀与在全局范围内使用isxdigit有关,但我不知道为什么在这种情况下会有所帮助。我也认为这与C++语言环境有关,但我对它们并不太熟悉。 谢谢!
浏览 1
提问于2013-11-16
得票数 4
回答已采纳
4
回答
在c++
中
重载
命名
空间
std
中
的
数学
函数
是一个很好
的
实践吗?
、
、
、
我正在编写一个C++类,它表示一个算术类型(围绕
的
一个c++包装器),我想支持在其中找到
的
一些
函数
(我将以std::sqrt为例)。to specify ns::MyClass f = std::sqrt(c); 编译器(g++ (Debian4.7.2-5))错误是:“对sqrt(ns::MyClass&)
的
调用没有匹配
函数
我需要这是有效
的
,因为MyClass应该被用于现有的
模板
函数
中
(我不应该修改这
浏览 0
提问于2014-03-27
得票数 8
回答已采纳
1
回答
unordered_map迭代器比较
中
的
意外错误
、
我有一个简单
的
map std::map<string,my_namespace::MyType>,我使用
的
是c++11,所以出于性能考虑,我用unordered_map替换了它。=(const T1&,const T2&)”
的
实例化
中
,T1 = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_stringdetail::_Node_iterator<std::pair\ <const st
浏览 9
提问于2022-01-02
得票数 2
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券