What does a comma mean inside an 'if' statement? [duplicate]What does the comma operator , do?comma operator in if conditionWhat is the difference between #include <filename> and #include “filename”?What are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?What is the “-->” operator in C++?What is The Rule of Three?What is the meaning of prepended double colon “::”?What are the basic rules and idioms for operator overloading?C++11 introduced a standardized memory model. What does it mean? And how is it going to affect C++ programming?Why are elementwise additions much faster in separate loops than in a combined loop?Why is my program slow when looping over exactly 8192 elements?
Rushed passport - does my reason qualify?
Why does the U.S military use mercenaries?
Would a "ring language" be possible?
How to generate a triangular grid from a list of points
Polynomial division: Is this trick obvious?
What are the effects of eating many berries from the Goodberry spell per day?
Does a non-singular matrix have a large minor with disjoint rows and columns and full rank?
Assign the same string to multiple variables
Usage of the relative pronoun "dont"
Why is Drogon so much better in battle than Rhaegal and Viserion?
Square spiral in Mathematica
301 Redirects what does ([a-z]+)-(.*) and ([0-9]+)-(.*) mean
How come Arya Stark didn't burn in Game of Thrones Season 8 Episode 5
Why do galaxies collide?
Cannot remove door knob -- totally inaccessible!
Failing students when it might cause them economic ruin
Divisor Rich and Poor Numbers
What is the velocity distribution of the exhaust for a typical rocket engine?
Why is so much ransomware breakable?
Is Precocious Apprentice enough for Mystic Theurge?
Is there an academic word that means "to split hairs over"?
FIFO data structure in pure C
How was the blinking terminal cursor invented?
"Counterexample" for the Inverse function theorem
What does a comma mean inside an 'if' statement? [duplicate]
What does the comma operator , do?comma operator in if conditionWhat is the difference between #include <filename> and #include “filename”?What are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?What is the “-->” operator in C++?What is The Rule of Three?What is the meaning of prepended double colon “::”?What are the basic rules and idioms for operator overloading?C++11 introduced a standardized memory model. What does it mean? And how is it going to affect C++ programming?Why are elementwise additions much faster in separate loops than in a combined loop?Why is my program slow when looping over exactly 8192 elements?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
This question already has an answer here:
What does the comma operator , do?
9 answers
Consider:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j) if (g[i][j] == 0) dfs(g, i, j), ++regions;
return regions;
I don't like one line code. What does the code execute in the if()
?
I am confused by the "," sign.
Usually I would write it as:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j)
if (g[i][j] == 0)
dfs(g, i, j)
,++regions; // I am not sure what to do here. Inside the "if" scope??
return regions;
c++
marked as duplicate by phuclv, David Z, Community♦ May 12 at 4:11
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
add a comment |
This question already has an answer here:
What does the comma operator , do?
9 answers
Consider:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j) if (g[i][j] == 0) dfs(g, i, j), ++regions;
return regions;
I don't like one line code. What does the code execute in the if()
?
I am confused by the "," sign.
Usually I would write it as:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j)
if (g[i][j] == 0)
dfs(g, i, j)
,++regions; // I am not sure what to do here. Inside the "if" scope??
return regions;
c++
marked as duplicate by phuclv, David Z, Community♦ May 12 at 4:11
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
1
The second code snippet is not balanced - there are three openings and two closing
s - it is missing a
}
.
– Peter Mortensen
May 11 at 22:53
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07
add a comment |
This question already has an answer here:
What does the comma operator , do?
9 answers
Consider:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j) if (g[i][j] == 0) dfs(g, i, j), ++regions;
return regions;
I don't like one line code. What does the code execute in the if()
?
I am confused by the "," sign.
Usually I would write it as:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j)
if (g[i][j] == 0)
dfs(g, i, j)
,++regions; // I am not sure what to do here. Inside the "if" scope??
return regions;
c++
This question already has an answer here:
What does the comma operator , do?
9 answers
Consider:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j) if (g[i][j] == 0) dfs(g, i, j), ++regions;
return regions;
I don't like one line code. What does the code execute in the if()
?
I am confused by the "," sign.
Usually I would write it as:
for (auto i = 0; i < g.size(); ++i)
for (auto j = 0; j < g.size(); ++j)
if (g[i][j] == 0)
dfs(g, i, j)
,++regions; // I am not sure what to do here. Inside the "if" scope??
return regions;
This question already has an answer here:
What does the comma operator , do?
9 answers
c++
c++
edited yesterday
Gilad
asked May 11 at 20:44
GiladGilad
3,51383992
3,51383992
marked as duplicate by phuclv, David Z, Community♦ May 12 at 4:11
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by phuclv, David Z, Community♦ May 12 at 4:11
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
1
The second code snippet is not balanced - there are three openings and two closing
s - it is missing a
}
.
– Peter Mortensen
May 11 at 22:53
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07
add a comment |
1
The second code snippet is not balanced - there are three openings and two closing
s - it is missing a
}
.
– Peter Mortensen
May 11 at 22:53
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07
1
1
The second code snippet is not balanced - there are three opening
s and two closing
s - it is missing a }
.– Peter Mortensen
May 11 at 22:53
The second code snippet is not balanced - there are three opening
s and two closing
s - it is missing a }
.– Peter Mortensen
May 11 at 22:53
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07
add a comment |
1 Answer
1
active
oldest
votes
The programmer has used the comma operator to provide two unrelated expressions in a single statement. Because it's a single statement, both expressions are "inside" the if
condition.
It's a poor hack, which would be better done with actual braces surrounding two statements.
Your example is not equivalent; it should be:
if (g[i][j] == 0)
dfs(g, i, j);
++regions;
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
|
show 15 more comments
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The programmer has used the comma operator to provide two unrelated expressions in a single statement. Because it's a single statement, both expressions are "inside" the if
condition.
It's a poor hack, which would be better done with actual braces surrounding two statements.
Your example is not equivalent; it should be:
if (g[i][j] == 0)
dfs(g, i, j);
++regions;
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
|
show 15 more comments
The programmer has used the comma operator to provide two unrelated expressions in a single statement. Because it's a single statement, both expressions are "inside" the if
condition.
It's a poor hack, which would be better done with actual braces surrounding two statements.
Your example is not equivalent; it should be:
if (g[i][j] == 0)
dfs(g, i, j);
++regions;
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
|
show 15 more comments
The programmer has used the comma operator to provide two unrelated expressions in a single statement. Because it's a single statement, both expressions are "inside" the if
condition.
It's a poor hack, which would be better done with actual braces surrounding two statements.
Your example is not equivalent; it should be:
if (g[i][j] == 0)
dfs(g, i, j);
++regions;
The programmer has used the comma operator to provide two unrelated expressions in a single statement. Because it's a single statement, both expressions are "inside" the if
condition.
It's a poor hack, which would be better done with actual braces surrounding two statements.
Your example is not equivalent; it should be:
if (g[i][j] == 0)
dfs(g, i, j);
++regions;
answered May 11 at 20:46
Lightness Races in OrbitLightness Races in Orbit
299k56484831
299k56484831
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
|
show 15 more comments
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
7
7
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
ohh god, why why why would anyone write this code. Thanks
– Gilad
May 11 at 20:50
8
8
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
@Gilad Trying to be clever, most likely! And failing.
– Lightness Races in Orbit
May 11 at 20:51
4
4
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
@LightnessRacesinOrbit This is a habit of old school programmers due to small monitor resolution (25 rows 80 columns) code was writing as short as possible. More code on one page better readability. Try read modern code on such monitor and you will see how many empty rows in it.
– Andrey Sv
May 11 at 21:14
3
3
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
Of course, that hack is especially useful for macros, which one also should avoid assiduously.
– Deduplicator
May 11 at 21:33
3
3
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
@AndreySv Such programmers have had some thirty years to break that habit, i.e. since before C++ even existed.
– Lightness Races in Orbit
May 11 at 22:59
|
show 15 more comments
1
The second code snippet is not balanced - there are three opening
s and two closing
s - it is missing a
}
.– Peter Mortensen
May 11 at 22:53
See also here: stackoverflow.com/questions/16475032/…
– Valentino
May 11 at 23:07