-
June 17th, 2024, 07:55 AM
#1
Brace initialisation
I have a simple question regarding this snippet of code.
Code:
class vmSize
{
public:
vmSize() : m_Width{ 0 }, m_Height{ 0 } {}
private:
int m_Width {};
int m_Height {};
};
It shows brace initialisation in the private section and then initialisation in the constructor. Am I right in thinking that I only need the method used in private and I can remove initialisation from the constructor?
Last edited by Gerald Bates; June 17th, 2024 at 08:21 AM.
What the mind can conceive it can achieve.
-
June 17th, 2024, 10:07 AM
#2
Re: Brace initialisation
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
June 17th, 2024, 10:21 AM
#3
Re: Brace initialisation
Thanks 2kaud, Got myself confused here, so now I will remove the initialiser list in the constructor when I use int m_Width {}; in the private section and take it as read that for more complicated types like CONSOLE_SCREEN_BUFFER_INFOEX m_ScreenBufferInfo{}; will in fact initialise everything in it. I would not know how to initialise that in a initialiser list.
What the mind can conceive it can achieve.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|