operator-keyword相关内容
我想创建一个名为 pos (从位置)的typedef结构,它存储坐标x和y。我试图重载这个结构的一些运算符,但它不编译。 typedef struct { int x ; int y; inline pos operator =(pos a){ x = a.x; y = a.y; return a; } inline pos operator +(pos
..
我的问题是关于朋友的功能,以及重载>。从我的理解,我认为朋友函数可以(应该)直接访问私有成员变量。但是在这种情况下,编译器只接受我的.cxx文件,当我使用“get”函数来获取每个私有变量。 这里是我的头文件 class BigNum public: // Constructors和DESTRUCTORS BigNum ); BigNum(int num,si
..
我使用一个在全局命名空间中定义输出流操作符(operator 命名空间A { struct
..
我已经看过这几次了,我一直在抓我的头想知道为什么... 例如:(http:// www.codeguru.com/forum/showthread.php?t=377394) void LeftClick() { INPUT Input = {0}; // left down Input.type = INPUT_MOUSE; Input.mi.dwFlags = M
..
我需要获取在实例化模板时提供的类型。考虑下面的例子: template struct Foo { typedef T TUnderlying; }; static Foo FooInt; class Bar { public: auto Automatic() - > decltype(FooInt):: TUnderl
..
我有类CMatrix,其中是值的数组的“双指针”。 class CMatrix { public: int rows,cols; int ** arr; }; 我只需要键入以下内容来访问矩阵的值: CMatrix x; x [0] [0] = 23; 我知道如何使用: x(0,0)= 23; 但我真的需
..
当涉及到构造函数时,添加关键字 explicit 可以防止热情的编译器在不是程序员的第一个意图时创建对象。此类机制是否也可用于投放运算符? struct Foo { operator std :: string )const; }; 例如,我想要能够 Foo 转换为 std :: string ,但我不希望这种转换隐式发生。 解决方案 是和否。
..
我知道这是一个常见的问题,但寻找引用和其他材料我没有找到一个清楚的答案这个问题。 考虑下面的代码: #include // ... //在方法中 std :: string a =“Hello”; std :: string b =“World”; std :: string c = a + b; 编译器告诉我它找不到 cha
..
我在下面的代码中理解调用顺序有困难。 我期待看到下面的输出 A1B2 pre> 虽然我可以看到我得到的输出是 BA12 我以为呼叫 std :: cout fooA() fooB() fooA()).oper
..
这个简单的程序(在Linux上编译时)将CORRECTLY给出两个不同的答案,基于是否使用 -std = c ++ 0x 编译。 问题:我无法在OS X(Mountain Lion,10.8 SDK)上重现相同的东西。 我缺少什么? #include #include class Thing:public std :: ostr
..
我有以下类: - class myclass { size_t st; myclass(size_t pst) { st = pst; } 操作符int() { return(int)st; } int operator +(int intojb) { return int(st)+ intobj; } }; 这个工
..
我正在阅读STL源代码,我不知道什么&&地址运算符应该做。这里是来自stl_vector.h的代码示例。 vector& operator =(vector&& __x)// swap(__ x); return * this; } “Address of A
..
我遇到了operator =的继承问题。为什么这个代码不工作,什么是最好的解决方法? #include class A { public: A& operator =(const A& a) { x = a.x; return * this; } bool operator ==(const A& a) { return x ==
..
我从来没有做过任何广泛的工作,重载运营商,尤其是隐性和显性转换。 不过,我经常使用的几个数值参数,所以我正在创建一个结构作为一个包装围绕一个数字类型强烈键入这些参数。下面是一个例子实现: 公共结构参数 { 私人字节_value; 公共字节值{{返回_value; }} 公共参数(字节值) { _value =值; } //其他方法(GetHashCode的,平等
..
请问声明在C#中的变量分配内存中创建或者是新的操作符分配内存,使调用构造函数初始化分配的变量在内存中? 据我了解,你不能调用任何类型的构造函数没有新的运营商。我对么? 解决方案 请问声明在C#中的变量分配内存中创建或者是新的运营商该分配内存,使调用教练来初始化内存分配的变量? 首先,让我们确保你问问题你认为你是在问。对于值类型,变量的存储位置和价值存储位置是的相同的存储的。
..
我想偷懒,在抽象基类,而不是在每一个具体的派生类实现投运营商。我已经成功地施展的一种方式,但我无法投其他。我想可能是不可能的,但要挑集体放弃以前那么介意: 公共接口IValueType< T> { 的T值{搞定;组; } } 公共抽象类的ValueType< T> :IValueType< T> { 公共抽象的T值{搞定;组; } 公共静态明
..
将在C#下面的差异此事显著 INT A,B?; 双重效果; 结果=(双)A / B; 结果= A /(双)B: 结果=(双人间)/(双)B: 你使用哪一种? 解决方案 在分立前发生的演员。 在你的例子,它不会不管你做哪一个,如果一个操作数是一家双,运行时会投/其他转换为双以及 这看起来像一个微型优化 - 不是值得担心或处理,除非测量结果
..
在C#中,有什么的区别 A ::乙和 A·B ?我注意到的唯一区别是,只有:可以用全球,但除此之外,有什么用区别?为什么他们都存在? 解决方案 与::你可以做这样的事情... 外部别名X; 外部别名ÿ; 类测试 { X :: N.A一个; X :: N.B B1; Y形:: N.B B2; Y形:: N.C℃; } 和有些时候。是不明确的,以便
..
有没有在C'#'操作? 如果是,则在code 枚举{ALPS,安第斯山脉,HIMALYAS}; 会是什么样以下的回报? #ALPS 解决方案 C语言不具有#运营商,但pre-处理器(中程序处理的#include 和的#define )一样。在pre-处理器简单的品牌 #ALPS 成字符串“ALPS”。 不过,这种“字符串”运算符只能在的#define pre处理器指令中使用。例
..
我想用三元运算符,而不在其他C.我该怎么做了。 (一)? B:没什么; 这样的事情。我在什么部分使用的是什么? 解决方案 如果您使用的是三元运算符这样,presumably它可以被替换为:如果(一){B; } 这是很多,多的更好。 (其目的是更清楚,因此,code是更容易阅读,并且不会有性能上的损失。) 不过,如果您使用的是三元运算符为前pression,即的printf(“%d个猫
..