腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
C++
两个
模板
,
相同
的
名称
,
相同
的
签名
,
不同
的
类
:
如何
强制
编译器
使用
预期
的
模板
?
c++
我正在尝试
使用
以下
C++
模板
: _CONSTEXPR20 void swap(_Ty& _Left, _Ty& _Right) noexcept( _Left = _STD move(_Right);} 从Microsoft实用程序标准标头(核心)中删除,但
编译器
继续
使用
以下
模板
如何
<
浏览 15
提问于2020-10-08
得票数 2
1
回答
来自Josuttis:
不同
的
模板
函数,即实例化到给定特定类型
的
相同
函数
签名
,会导致ODR无效吗?
c++
、
templates
Note: Output shown below) 但是,在Visual 2010中构建和编译
相同
的
代码时,会得到
不同
的
结果。我认为)
编译器
去掉了所有关于这些函数是从
模板
创建
的
事实
的
“知识”,并且只有函数
签名
本身
的
信息(我认为):void (char, char),这对于
两个
f1函数来说都是一样
的
。由于(如果我是正确
的
)函数
签名
在
两个</
浏览 1
提问于2012-11-29
得票数 13
回答已采纳
3
回答
输出仅过载
c++
c++
、
function
、
overloading
可能重复: Eigen::Vector6f pose();Eigen::Matrix4d pose();如果我这样做了,那么
编译器
将
如何
知道
使用
哪个函数?Eigen::Matrix4d poseHolder = pose();
使用
第二个函数?如果没有,是否有一种
浏览 18
提问于2012-12-16
得票数 2
回答已采纳
4
回答
函数声明和
签名
有什么区别?
c++
、
c
、
function
、
declaration
、
signature
在C或
C++
中,函数声明和函数
签名
有什么区别?谢谢!
浏览 0
提问于2010-02-24
得票数 43
回答已采纳
1
回答
为什么
C++
模板
不会导致多个定义错误?
c++
、
templates
当我在
C++
文件中包含(比方说) <vector>,并创建std::vector<double>
的
一个实例,然后调用std::vector<double>::push_back()函数时,我
的
理解是,在这一点上,
编译器
创建函数
的
定义并生成必要
的
代码。但是,我可以从几个
不同
的
C++
文件中调用该函数,这些文件将链接到同一个可执行文件中,假设每个.cpp文件都将生成一个.o文件,每个文件都有它自己
浏览 1
提问于2018-07-05
得票数 2
1
回答
再谈enable_if_t中
的
C++
SFINAE
c++
、
templates
、
template-meta-programming
、
sfinae
我想知道为什么SFINAE不能直接
使用
模板
参数初始化?}; Y< double > y;}但是如果我重构到这个语法,
编译器
就会给出一个错误”我假设第二个实例是无效
的
,应该被SFINAE排除吗?为什么我不能像这样声明foo():enable_if_t<
浏览 2
提问于2018-12-03
得票数 0
2
回答
在operator=中继承
模板
化
的
C++14: g++和clang++
的
不同
行为
c++
、
c++14
、
language-lawyer
、
overload-resolution
、
name-hiding
我有这个代码,和GCC 9.1
的
预期
一样:class Aprotected: }{ obj = 2;(在实践中,我们会在B::operator=中做一些奇特
的
事情,甚至对enable_if
使用
不同
的
类型特征,但这是最简
浏览 2
提问于2019-08-02
得票数 5
回答已采纳
3
回答
为什么我需要
模板
的
C++
链接?
c++
、
c
、
c++11
、
extern
有时,我试图遵循某些规则
的
逻辑,有时,关于事情发生
的
逻辑--它们所做
的
--违背了我所知道
的
任何法律。通常,它是一个
模板
,它被描述为只存在于编译阶段
的
东西,它完全等同于为任何给定类型
的
foo手工编写一些函数T。那么,为什么这段代码不编译(我目前
使用
的
是C++11和gcc和clang,但我不认为这在本例中有那么重要)?,抱怨是关于链接
的
,隐含
的
信息是,这段代码不会生成函数,它会产生一些在编译后不适合C样
浏览 4
提问于2014-07-22
得票数 0
回答已采纳
1
回答
用
类
fnc中
的
数据填充向量
c++
、
managed-c++
我有一个自定义
的
数据类型数组和向量,如下所示。在Foo函数中,我开始用数据填充数组和向量。无论
如何
,用数据填充数组是没有问题
的
。但是,我无法
使用
vector访问任何内容。我找不到我错过
的
东西。
浏览 1
提问于2012-02-06
得票数 0
1
回答
函数
模板
签名
c++
、
templates
、
language-lawyer
是什么决定了
两个
函数
模板
声明是否声明
相同
的
模板
,还是重载
的
名称
相同
?答案
的
开头见3.5p9:
两个
相同
的
名称
(第3条)和在
不同
的
作用域中声明
的
名称
应表示
相同
的
变量、函数、类型、枚举数、
模板
或命名空间。
两个
名称</
浏览 0
提问于2013-01-20
得票数 5
回答已采纳
1
回答
仅在
C++
中返回类型
不同
的
重载函数
模板
c++
、
templates
、
language-lawyer
、
c++20
、
overload-resolution
众所周知,只有返回类型
不同
的
普通函数不能在
C++
中重载。但是这个限制不适用于重载
的
函数
模板
,例如:auto f(auto) { return 2; }为什么语言会对
模板
做出这样
的
例外呢如果重载函数
的
返回类型
不同
,那么就可以
使用
强制
转换到
预期
函数类型来选择其中一个函数。令人惊讶<em
浏览 1
提问于2021-09-30
得票数 16
回答已采纳
5
回答
是什么决定了在
两个
源文件中包含同名
类
的
哪个
类
定义?
c++
、
templates
如果我在一个项目中有
两个
源文件,每个源文件定义了一个同名
的
类
,那么是什么决定了
使用
哪个版本
的
类
呢?}诚然,在同一
名称
空间中包含具有
相同
名称
的
类
的
不同
定义是糟糕
的</em
浏览 2
提问于2012-11-15
得票数 2
回答已采纳
3
回答
为什么在
类
外部定义
类
模板
的
成员函数时需要
模板
参数?
c++
、
class
、
templates
、
c++14
在下面的代码中,为什么我必须编写someClass<Item>::increment(),而不仅仅是someClass::increment()template <typename Item> void increment();}; template
浏览 3
提问于2019-03-03
得票数 0
1
回答
链接器通常对
不同
c++
模板
实例中
的
重复代码进行优化吗?
c++
、
templates
、
linker
、
instance
、
multiple-instances
我已经用
C++
编程很长一段时间了,我非常喜欢
使用
模板
。最近,由于我对嵌入式编程
的
尝试,我一直在想
的
是,在
模板
参数
不同
的
模板
实例中,链接器应该
如何
处理代码重复。对于具有
相同
参数
的
相同
模板
的
多个实例,这是众所周知
的
在链接时间被优化(另见:)。 然而,在我
的
例子中,我感兴趣
的
是链接
浏览 1
提问于2016-07-29
得票数 2
回答已采纳
2
回答
C++
函数声明
c++
、
include
我是
C++
的
新手。我不明白为什么一个函数声明两次是可以
的
(也就是为什么
编译器
允许这样做)。例如,以下代码是合法
的
:#include <string> int hello(); cout << "hello, world" << endl; return 1;为什么
编译器
没有
浏览 2
提问于2013-05-20
得票数 3
回答已采纳
2
回答
模板
和泛型。为什么我可以在
C++
中进行以下操作,而不能在Java中执行呢?我该
如何
克服这一切?
java
、
c++
、
templates
、
generics
考虑以下
C++
程序:using namespace std; class example public:example<Integer> (); a.function(b); }到目前为止,我一直是一名
C+
因此,泛型来自一个与
模板
合作过
的
背景,使我感到困惑。 来问我
的</e
浏览 7
提问于2015-07-20
得票数 0
回答已采纳
5
回答
函数重载解决问题
c++
上周末,我遇到了一些似乎无法解决
的
函数重载解析问题。); }{ C c; return 0;1) C::g不会编译,因为
编译器
不会尝试
模板
2) C::h不会编译,这对我来说是显而易见
的
。消息是“‘int’之前应该有主表达式” 3) C::我会编译,但是(在注释掉g和h之后)它不会链接到任何东西。我想我理解了这一点: extern迫使链接器查看另一个编
浏览 0
提问于2011-10-03
得票数 5
回答已采纳
3
回答
为什么
C++
不能显式实例化
模板
方法覆盖虚拟方法?
c++
、
templates
、
virtual-inheritance
为什么下面的代码中
的
TemplateChild不能工作?我知道虚拟方法不能是
模板
,但是为什么显式实例化
模板
方法不能覆盖虚拟方法?v->method( i );} gcc 4.4.7 (CentOS 6)和Clang3.3(主干177401)一致认为,这
两个
纯虚拟方法不是在TemplateChild中实现
的
,尽管在编译TemplateChild时,显式地有一个名为“方法”
的
方法,该方法需要一个浮点,而一个名
浏览 4
提问于2013-12-11
得票数 6
回答已采纳
3
回答
我们可以定义
两个
名称
相同
但参数
不同
的
函数吗?
c++
、
algorithm
、
function
、
c++14
当我们需要定义另一个函数时,我感到困惑,我们可以给它一个
不同
的
名称
。但是在LeetCode讨论中,我发现了一个流行
的
帖子,其中有
两个
函数具有
相同
的
名称
,但具有
不同
的
参数。
浏览 0
提问于2020-09-04
得票数 2
回答已采纳
2
回答
用于
类
成员函数
的
SFINAE (一个编译另一个不编译)
c++
、
templates
、
c++11
、
sfinae
为什么class A编译和class B不编译,
编译器
抱怨有
两个
声明,而不是两者都依赖SFINAE?在
使用
foo时,两者实际上都应该
使用
模板
类型推断。所以问题是,在这
两个
版本中有什么细微
的
区别,为什么class A成功地
使用
了sfinae.?
类
A
使用
value-defaulted (零)匿名(不必要)非类型
模板
参数。
类
B
使用
type-defaulted (与
浏览 3
提问于2015-07-25
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
聊聊C+的模板和泛型编程
C+语言学习笔记3
《C+Primer Plus(第6版)中文版》
C程序员是怎样评判GO语言的
C+17 标准正式发布:开发者可更简单地编写和维护代码
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券