2016-02-25 2 views
0

В чем разница между операторами + = и = + в C++? Я видел решение, которое находит глубину двоичного дерева с помощью оператора = +.Разница между + = и = + операторами в C++?

class Solution { 
public: 
int maxDepth(TreeNode* root) { 
    int l,r; 
    if(root == NULL) { 
     return 0; 
    } 
    else { 
     l =+ maxDepth(root->left); 
     r =+ maxDepth(root->right); 
    } 
    if (l>r) 
    return (l+1); 
    else 
    return (r+1); 
} 
}; 
+3

Существует не '=' + оператор. Я хотел бы увидеть пример. – NathanOliver

+5

Для начала нет оператора '= +'. Не могли бы вы рассказать нам, где вы это видели? Может быть, это оператор присваивания, за которым следует унарный '+'? –

+1

Если у вас есть 'x = + 1;', это означает, что значение положительного '1' присваивается' x' – phoxis

ответ

9

+ = означает, что он увеличит значение lValue по правую сторону.

= + означает, что он будет назначать правое значение (со знаком) на "Lvalue"

int a = 5; 
a += 1; 
cout << a; // Here it will print 6. 

a =+ 1; 
cout << a; // Here it will print 1 (+1). 

a =- 1; 
cout << a; // Here it will print -1. 

Надеется, что это помогает.

0

Там, конечно, нет = + оператор в CPP код как этот X = + 2 просто означает, что х равно положительный 2. Вы можете, вероятно, расширить свой вопрос, разместив «решение» вы видели

3

Ниже приведен пример разницы. :)

#include <iostream> 

int main() 
{ 
    std::string s1("Hello "); 
    std::string s2("Hello "); 

    s1 += "World!"; 
    s2 =+ "World!"; 

    std::cout << s1 << std::endl; 
    std::cout << s2 << std::endl; 
}   

Выход программы

Hello World! 
World! 

Оператор += является оператором присваивания соединение, которое действительно существует в C++ (и многих других языках) , Как вы можете видеть на C++, он может быть даже перегружен, например, для стандартного класса std::string.

Символы =+ - два оператора: оператор присваивания = и оператор унарного + +. В демонстрационной программе оператор унарного плюса, применяемый к строковому литералу, не имеет никакого эффекта.

Вот показательная программа других странных операторов. :)

#include <iostream> 

int main() 
{ 
    int x = 1; 
    int y = 1; 
    int z = 1; 

    if (x --- y +++ z --> 0) std::cout << z << std::endl; 

    return 0; 
} 
Смежные вопросы