CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3
  1. #1
    Join Date
    Jan 2009
    Location
    England
    Posts
    64

    Question 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.

  2. #2
    2kaud's Avatar
    2kaud is online now Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    7,832

    Re: Brace initialisation

    Yes.
    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)

  3. #3
    Join Date
    Jan 2009
    Location
    England
    Posts
    64

    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
  •  





Click Here to Expand Forum to Full Width

Featured