问题标签 [using-declaration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++0x 与 using 声明的混淆
这种情况应该发生什么:
感兴趣的线是 f()
。显然f
根据10.2
FDIS 的查找成功并找到A::f
。但是,超载决议会考虑哪些候选人?规范说13.3.1p4
:
对于通过 using 声明引入派生类的非转换函数,该函数被认为是派生类的成员,以便定义隐式对象参数的类型。
这样做的目的是,对于单个类,如果此类包含自己的成员函数和将基类函数的名称带入作用域的 using 声明,则在重载决策期间,所有候选函数在其隐式对象中具有相同的类类型范围。但这对上面的例子意味着什么?候选人会是以下吗?
这似乎是错误的,因为我们在查找结果集中只有一个声明10.2p7
。我们该如何解释这个??
c++ - C++ 使用关键字
using
这两种关键字用法有什么区别:
和
c++ - 使用声明和 const 重载
假设我operator->
在一个基类中有两个版本的(在 const 上重载)。如果我说
在派生类中,我可以访问两个版本还是仅访问非常量版本?
enums - 一种在 C++0x 枚举类中使用所有非限定名称的方法?
新的 C++(C++0x 或 C++11)有一种新的枚举,一个“枚举类”,其中名称的范围为枚举(除其他外)。
但是,我想知道是否可以在某个范围内有选择地使用非限定名称。就像是:
我看到我可以写using E::VAL1
并得到一个值。但我不想对更大枚举的每个值都这样做。
asp.net - 如何在没有代码的情况下在 ASP.NET 页面中使用“使用”关键字
我想在我的 asp.net 应用程序中包含一些名称空间及其类。可以用using
关键字吗?
我有这个:
我使用 MVC2 架构...
我想直接使用类NewsModel getNewsDetail = ViewData["NewsDetail"] as NewsModel
。
谢谢你,如果我的问题很糟糕,我很抱歉。
c# - 是否值得从我的文件中删除“使用系统”?
在我的项目上开发了一系列 POCO,并且刚刚意识到其中一些不需要该using System;
子句。
using <module>;
在我的对象或项目上未使用是否有任何性能或尺寸损失?
我的类会因此变得更大、更慢或臃肿,还是编译器/优化器足够聪明来处理这个问题?
c++ - 在 C++ 中,可以重命名/别名为非命名空间、非类名吗?
我有
我想将其称为
这意味着我想从src
.
对于dst_bar
一个当然可以使用namespace dst { typedef src_bar dst_bar; }
. 是否有一些(非宏)等价物允许我重命名src::src_baz
为dst::dst_baz
和src::src_qux
as dst::dst_qux
?
除非我弄错了,否则using
语句和命名空间别名都不能完成另外两个。为 编写模板转发函数dst_baz()
是一种可能,但需要了解src_baz
. 模板类型定义可能有dst_qux<T>::type
,src_qux<T>
但间接增加了冗长。
FWIW,我的用例是采用 C 名称,somepackage_someportion_somefuncA
并提供一个命名空间友好的版本somepackage::someportion::somefuncA
,以便其他人可以使用using somepackage::someportion
简洁。
c++ - using-declaration 是否仅导入在 using-declaration 之上声明的重载?
例如,GCC 和 clang 都无法编译以下代码:
出现错误:
暗示 using-declaration 仅导入在using-declaration 出现的点上方声明的重载,而不是可能稍后出现的重载(但在使用名称之前)。
这种行为正确吗?
c++ - C ++ 11中的'typedef'和'using'有什么区别?
我知道在 C++11 中我们现在可以using
用来写类型别名,比如typedef
s:
据我了解,相当于:
新语法源于努力表达“模板类型定义”:
但是,对于前两个非模板示例,标准中是否还有其他细微差别?例如,typedef
s 以“弱”的方式进行混叠。也就是说,它不会创建新类型,而只会创建一个新名称(这些名称之间的转换是隐含的)。
它是相同的using
还是生成一个新的类型?有什么不同吗?
c++ - 覆盖 ADL 选择的重载
我正在使用一个有缺陷的库operator<<
,我想用我自己的版本替换它。它遵循 ADL 根据参数在库名称空间中的成员资格选择重载的习惯用法。有没有办法让 C++ 选择我自己的operator<<
?