首页 > TAG信息列表 > prefix-operator
一个语句中的索引,赋值和增量在C和C#中的行为不同.为什么?
为什么此代码示例在c和C#中的行为不同. [C示例] int arr[2]; int index = 0; arr[index] = ++index; 其结果将是arr [1] = 1; [C#示例] int[] arr = new int[2]; int index = 0; arr[index] = ++index; 其结果将是arr [0] = 1; 我觉得这很奇怪.对于两种语言,一定要有一些不同的如何区分(重载时)运算符的前缀和后缀形式? (C )
因为我为迭代器类重载了运算符 template<typename T> typename list<T>::iterator& list<T>::iterator::operator++() { //stuff } 但是当我尝试做的时候 list<int>::iterator IT; IT++; 我使用前缀表单得到关于没有postifx的警告.我怎样才能专门重载前缀/ postifx表单?解决C运算符重载前缀/后缀
我正在学习C中的运算符重载.原始后缀具有优先级低于赋值运算符的属性.例如,int i = 0,j = 0; i = j; cout<<<<<< j将输出01.但是当我重载postfix时,这个属性似乎丢失了. #include<iostream> using namespace std; class V { public: int vec[2]; V(int a0, int a1)