Click here to Skip to main content
15,907,910 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: I'm looking for review in terms of readability, approachability of this code Pin
Gerry Schmitz6-Oct-23 11:44
mveGerry Schmitz6-Oct-23 11:44 
QuestionFor loop Pin
Calin Negru25-Sep-23 5:27
Calin Negru25-Sep-23 5:27 
AnswerRe: For loop Pin
Victor Nijegorodov25-Sep-23 5:32
Victor Nijegorodov25-Sep-23 5:32 
GeneralRe: For loop Pin
Calin Negru25-Sep-23 5:42
Calin Negru25-Sep-23 5:42 
AnswerRe: For loop Pin
Randor 25-Sep-23 5:36
professional Randor 25-Sep-23 5:36 
GeneralRe: For loop Pin
jschell25-Sep-23 7:25
jschell25-Sep-23 7:25 
QuestionRe: For loop Pin
Randor 25-Sep-23 7:48
professional Randor 25-Sep-23 7:48 
AnswerRe: For loop Pin
jschell26-Sep-23 5:10
jschell26-Sep-23 5:10 
Randor wrote:
Could you point out what you are referring to?


I should have read your original post more carefully....

The following is part of what the OP posted.

"allocate memory for an int every frame."

To me the terms I underlined are significant.

Most compilers that I have ever seen, not just C/C++, use a 'stack frame' to manage the variables within a method.

The allocation, far as I can tell, is how the OP is referring to, because the post specifically uses those terms.

But it is still up to the compiler. As a matter of fact at least at one time compilers at one time made a big deal (advertising) that the method variables were managed as CPU 'register' values and were not put onto the stack frame at all. And that is definitely not in the specifications for C or C++.

I do know, because I looked at the assembly that compilers used to emit (and at times modified it) that compilers at one time did nothing more than allocate variables on the stack frame sequentially. I might even recall reading an article that a developer would need to manage variables more carefully to limit that. (I can perhaps recall the suggestion that all variables should be declared at the top of the method for that very reason.)

Now back to what you posted...

For what you posted the "scope" refers to where the variable is visible from. At the language level.

That does NOT specify how the compiler is to manage the variables.

Do you have a different specification, which would probably need to be after C99, that does state how the stack frame is to be managed? I say C99 since I was familiar with that one and I am rather certain that it says nothing at all about the stack frame.

I also looked through my books for "C++ Programming Language" and "C Programming Language" and found nothing at all about the stack frame. I did not expect to find it.

I did look through the Dragon book where I would expect this to be discussed. It doesn't use that term instead it uses the term 'activation record'. It discusses how the activation record can be managed by a stack.
GeneralRe: For loop Pin
Randor 26-Sep-23 5:38
professional Randor 26-Sep-23 5:38 
GeneralRe: For loop Pin
jschell27-Sep-23 5:23
jschell27-Sep-23 5:23 
JokeRe: For loop Pin
Randor 27-Sep-23 6:57
professional Randor 27-Sep-23 6:57 
GeneralRe: For loop Pin
trønderen28-Sep-23 13:50
trønderen28-Sep-23 13:50 
GeneralRe: For loop Pin
jschell29-Sep-23 11:07
jschell29-Sep-23 11:07 
GeneralRe: For loop Pin
trønderen29-Sep-23 11:35
trønderen29-Sep-23 11:35 
GeneralRe: For loop Pin
Randor 29-Sep-23 12:04
professional Randor 29-Sep-23 12:04 
GeneralRe: For loop Pin
jschell2-Oct-23 5:09
jschell2-Oct-23 5:09 
GeneralRe: For loop Pin
Randor 2-Oct-23 5:47
professional Randor 2-Oct-23 5:47 
GeneralRe: For loop Pin
trønderen2-Oct-23 8:01
trønderen2-Oct-23 8:01 
GeneralRe: For loop Pin
Randor 2-Oct-23 8:27
professional Randor 2-Oct-23 8:27 
GeneralRe: For loop Pin
trønderen2-Oct-23 12:17
trønderen2-Oct-23 12:17 
GeneralRe: For loop Pin
Randor 2-Oct-23 12:54
professional Randor 2-Oct-23 12:54 
GeneralRe: For loop Pin
trønderen2-Oct-23 21:11
trønderen2-Oct-23 21:11 
GeneralRe: For loop Pin
Randor 3-Oct-23 0:08
professional Randor 3-Oct-23 0:08 
GeneralRe: For loop Pin
trønderen3-Oct-23 9:54
trønderen3-Oct-23 9:54 
GeneralRe: For loop Pin
jschell3-Oct-23 4:35
jschell3-Oct-23 4:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.