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?
I know that there is a preselected candidate for a position to be filled at my department. What should I do?
Which European Languages are not Indo-European?
My players want to grind XP but we're using milestone advancement
Can a US state pass/enforce a law stating that a group of people owe money to the state government?
My employer faked my resume to acquire projects
Are black holes spherical during merger?
Where have Brexit voters gone?
Construct a word ladder
Should one buy new hardware after a system compromise?
Apt - strange requests to d16r8ew072anqo.cloudfront.net:80
Defining the standard model of PA so that a space alien could understand
What could a self-sustaining lunar colony slowly lose that would ultimately prove fatal?
Who decides how to classify a novel?
Is it rude to call a professor by their last name with no prefix in a non-academic setting?
Can I connect my older mathematica front-end to the free wolfram engine?
Is the Indo-European language family made up?
Why most published works in medical imaging try reducing false positives?
Why didn't Thanos use the Time Stone to stop the Avengers' plan?
Where's this lookout in Nova Scotia?
Find the three digit Prime number P from the given unusual relationships
How can I tell if I'm being too picky as a referee?
Python program to take in two strings and print the larger string
Why would Ryanair allow me to book this journey through a third party, but not through their own website?
Popcorn is the only acceptable snack to consume while watching a movie
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 May 14 at 17:13
Gilad
asked May 11 at 20:44
GiladGilad
3,53383992
3,53383992
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
300k56485833
300k56485833
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