Difference between sizeof(struct name_of_struct) vs sizeof(name_of_struct)?What is the difference between #include <filename> and #include “filename”?Regular cast vs. static_cast vs. dynamic_castWhat are the differences between a pointer variable and a reference variable in C++?What are the differences between struct and class in C++?Why isn't sizeof for a struct equal to the sum of sizeof of each member?Difference between 'struct' and 'typedef struct' in C++?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?What is the difference between 'typedef' and 'using' in C++11?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviations
Fastest path on a snakes and ladders board
What is the difference between state-based effects and effects on the stack?
Co-worker is now managing my team. Does this mean that I'm being demoted?
Leveling up and Getting Items!
Reflecting Telescope Blind Spot?
Idiom for 'person who gets violent when drunk"
Background for black and white chart
How to sort human readable size
Using roof rails to set up hammock
Divide the chessboard
TiKZ won't graph 1/sqrt(x)
What made the Ancient One do this in Endgame?
How to remove multiple elements from Set/Map AND knowing which ones were removed?
Is there a term for someone whose preferred policies are a mix of Left and Right?
A Tale of Snake and Coffee
Sci fi/fantasy book, people stranded on a planet where tech doesn't work, magic mist
Can artificial satellite positions affect tides?
How to ask if I can mow my neighbor's lawn
Does WiFi affect the quality of images downloaded from the internet?
Should I worry about having my credit pulled multiple times while car shopping?
Can I appeal credit ding if ex-wife is responsible for paying mortgage?
What is the color associated with lukewarm?
Struggling to present results from long papers in short time slots
How did Avada Kedavra get its name?
Difference between sizeof(struct name_of_struct) vs sizeof(name_of_struct)?
What is the difference between #include <filename> and #include “filename”?Regular cast vs. static_cast vs. dynamic_castWhat are the differences between a pointer variable and a reference variable in C++?What are the differences between struct and class in C++?Why isn't sizeof for a struct equal to the sum of sizeof of each member?Difference between 'struct' and 'typedef struct' in C++?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?What is the difference between 'typedef' and 'using' in C++11?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviations
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
The return values of the subject are the same.
Is there any difference between the two? Even if it is subtle/not important, I'd like to know.
c++
add a comment |
The return values of the subject are the same.
Is there any difference between the two? Even if it is subtle/not important, I'd like to know.
c++
add a comment |
The return values of the subject are the same.
Is there any difference between the two? Even if it is subtle/not important, I'd like to know.
c++
The return values of the subject are the same.
Is there any difference between the two? Even if it is subtle/not important, I'd like to know.
c++
c++
asked 10 hours ago
KunseokKunseok
885
885
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
struct name_of_struct
refers unambiguously to a struct
/class
tagged name_of_struct
whereas name_of_struct
may be a variable or a function name.
For example, in POSIX, you have both struct stat
and a function named stat
. When you want to refer to the struct type, you need the struct
keyword to disambiguate (+ plain C requires it always -- in plain C, regular identifiers live in a separate namespace from struct tags and struct tags don't leak into the regular identifier namespace like they do in C++ unless you explicitly drag them there with a typedef as in typedef struct tag /*...*/ tag;
).
Example:
struct foo char x [256];;
void (*foo)(void);
int structsz() return sizeof(struct foo); //returns 256
int ptrsz() return sizeof(foo); //returns typically 8 or 4
If this seems confusing, it basically exists to maintain backwards compatibility with C.
2
One additional minor note, thestruct
andclass
keywords are interchangeable in this context.sizeof(struct foo)
andsizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.
– Miles Budnek
9 hours ago
1
Furthermorestruct name_of_struct
i.e. an elaborated type specifier also declaresname_of_struct
. This doesn't make a difference in this particular case, since in order to usesizeof
,name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.
– eerorika
9 hours ago
add a comment |
As far as I know: the difference is c struct notation versus C++ notation.
No, they are both C++.sizeof(name_of_struct)
is only C++ i.e. not C, unlessname_of_struct
is also atypedef
.
– eerorika
9 hours ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f56587468%2fdifference-between-sizeofstruct-name-of-struct-vs-sizeofname-of-struct%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
struct name_of_struct
refers unambiguously to a struct
/class
tagged name_of_struct
whereas name_of_struct
may be a variable or a function name.
For example, in POSIX, you have both struct stat
and a function named stat
. When you want to refer to the struct type, you need the struct
keyword to disambiguate (+ plain C requires it always -- in plain C, regular identifiers live in a separate namespace from struct tags and struct tags don't leak into the regular identifier namespace like they do in C++ unless you explicitly drag them there with a typedef as in typedef struct tag /*...*/ tag;
).
Example:
struct foo char x [256];;
void (*foo)(void);
int structsz() return sizeof(struct foo); //returns 256
int ptrsz() return sizeof(foo); //returns typically 8 or 4
If this seems confusing, it basically exists to maintain backwards compatibility with C.
2
One additional minor note, thestruct
andclass
keywords are interchangeable in this context.sizeof(struct foo)
andsizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.
– Miles Budnek
9 hours ago
1
Furthermorestruct name_of_struct
i.e. an elaborated type specifier also declaresname_of_struct
. This doesn't make a difference in this particular case, since in order to usesizeof
,name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.
– eerorika
9 hours ago
add a comment |
struct name_of_struct
refers unambiguously to a struct
/class
tagged name_of_struct
whereas name_of_struct
may be a variable or a function name.
For example, in POSIX, you have both struct stat
and a function named stat
. When you want to refer to the struct type, you need the struct
keyword to disambiguate (+ plain C requires it always -- in plain C, regular identifiers live in a separate namespace from struct tags and struct tags don't leak into the regular identifier namespace like they do in C++ unless you explicitly drag them there with a typedef as in typedef struct tag /*...*/ tag;
).
Example:
struct foo char x [256];;
void (*foo)(void);
int structsz() return sizeof(struct foo); //returns 256
int ptrsz() return sizeof(foo); //returns typically 8 or 4
If this seems confusing, it basically exists to maintain backwards compatibility with C.
2
One additional minor note, thestruct
andclass
keywords are interchangeable in this context.sizeof(struct foo)
andsizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.
– Miles Budnek
9 hours ago
1
Furthermorestruct name_of_struct
i.e. an elaborated type specifier also declaresname_of_struct
. This doesn't make a difference in this particular case, since in order to usesizeof
,name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.
– eerorika
9 hours ago
add a comment |
struct name_of_struct
refers unambiguously to a struct
/class
tagged name_of_struct
whereas name_of_struct
may be a variable or a function name.
For example, in POSIX, you have both struct stat
and a function named stat
. When you want to refer to the struct type, you need the struct
keyword to disambiguate (+ plain C requires it always -- in plain C, regular identifiers live in a separate namespace from struct tags and struct tags don't leak into the regular identifier namespace like they do in C++ unless you explicitly drag them there with a typedef as in typedef struct tag /*...*/ tag;
).
Example:
struct foo char x [256];;
void (*foo)(void);
int structsz() return sizeof(struct foo); //returns 256
int ptrsz() return sizeof(foo); //returns typically 8 or 4
If this seems confusing, it basically exists to maintain backwards compatibility with C.
struct name_of_struct
refers unambiguously to a struct
/class
tagged name_of_struct
whereas name_of_struct
may be a variable or a function name.
For example, in POSIX, you have both struct stat
and a function named stat
. When you want to refer to the struct type, you need the struct
keyword to disambiguate (+ plain C requires it always -- in plain C, regular identifiers live in a separate namespace from struct tags and struct tags don't leak into the regular identifier namespace like they do in C++ unless you explicitly drag them there with a typedef as in typedef struct tag /*...*/ tag;
).
Example:
struct foo char x [256];;
void (*foo)(void);
int structsz() return sizeof(struct foo); //returns 256
int ptrsz() return sizeof(foo); //returns typically 8 or 4
If this seems confusing, it basically exists to maintain backwards compatibility with C.
edited 9 hours ago
answered 10 hours ago
PSkocikPSkocik
37.4k65783
37.4k65783
2
One additional minor note, thestruct
andclass
keywords are interchangeable in this context.sizeof(struct foo)
andsizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.
– Miles Budnek
9 hours ago
1
Furthermorestruct name_of_struct
i.e. an elaborated type specifier also declaresname_of_struct
. This doesn't make a difference in this particular case, since in order to usesizeof
,name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.
– eerorika
9 hours ago
add a comment |
2
One additional minor note, thestruct
andclass
keywords are interchangeable in this context.sizeof(struct foo)
andsizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.
– Miles Budnek
9 hours ago
1
Furthermorestruct name_of_struct
i.e. an elaborated type specifier also declaresname_of_struct
. This doesn't make a difference in this particular case, since in order to usesizeof
,name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.
– eerorika
9 hours ago
2
2
One additional minor note, the
struct
and class
keywords are interchangeable in this context. sizeof(struct foo)
and sizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.– Miles Budnek
9 hours ago
One additional minor note, the
struct
and class
keywords are interchangeable in this context. sizeof(struct foo)
and sizeof(class foo)
would both work. You don't see the latter very often though, since this mainly comes up in the context of interoperating with C code.– Miles Budnek
9 hours ago
1
1
Furthermore
struct name_of_struct
i.e. an elaborated type specifier also declares name_of_struct
. This doesn't make a difference in this particular case, since in order to use sizeof
, name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.– eerorika
9 hours ago
Furthermore
struct name_of_struct
i.e. an elaborated type specifier also declares name_of_struct
. This doesn't make a difference in this particular case, since in order to use sizeof
, name_of_struct
must be defined, and therefore declared prior. But in another case, it can make a difference.– eerorika
9 hours ago
add a comment |
As far as I know: the difference is c struct notation versus C++ notation.
No, they are both C++.sizeof(name_of_struct)
is only C++ i.e. not C, unlessname_of_struct
is also atypedef
.
– eerorika
9 hours ago
add a comment |
As far as I know: the difference is c struct notation versus C++ notation.
No, they are both C++.sizeof(name_of_struct)
is only C++ i.e. not C, unlessname_of_struct
is also atypedef
.
– eerorika
9 hours ago
add a comment |
As far as I know: the difference is c struct notation versus C++ notation.
As far as I know: the difference is c struct notation versus C++ notation.
answered 10 hours ago
Tarick WellingTarick Welling
513219
513219
No, they are both C++.sizeof(name_of_struct)
is only C++ i.e. not C, unlessname_of_struct
is also atypedef
.
– eerorika
9 hours ago
add a comment |
No, they are both C++.sizeof(name_of_struct)
is only C++ i.e. not C, unlessname_of_struct
is also atypedef
.
– eerorika
9 hours ago
No, they are both C++.
sizeof(name_of_struct)
is only C++ i.e. not C, unless name_of_struct
is also a typedef
.– eerorika
9 hours ago
No, they are both C++.
sizeof(name_of_struct)
is only C++ i.e. not C, unless name_of_struct
is also a typedef
.– eerorika
9 hours ago
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f56587468%2fdifference-between-sizeofstruct-name-of-struct-vs-sizeofname-of-struct%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown