Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Which project Template for STL coding?

Which project Template for STL coding?

Scheduled Pinned Locked Moved C / C++ / MFC
c++questionlearning
16 Posts 9 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    STL is the C++ Standard Template Library and it offers a number of useful facilities for coding in C++. It has no connection with either MFC or ATL, both of which are concerned with Windows Programming. Spend some time learning STL and how to apply it to your applications, whether they are console, ATL Windows, Win32 Windows or MFC Windows.

    Just say 'NO' to evaluated arguments for diadic functions! Ash

    S Offline
    S Offline
    Software2007
    wrote on last edited by
    #7

    All good answers. I will spend some time learning STL.

    1 Reply Last reply
    0
    • L Lost User

      STL is the C++ Standard Template Library and it offers a number of useful facilities for coding in C++. It has no connection with either MFC or ATL, both of which are concerned with Windows Programming. Spend some time learning STL and how to apply it to your applications, whether they are console, ATL Windows, Win32 Windows or MFC Windows.

      Just say 'NO' to evaluated arguments for diadic functions! Ash

      A Offline
      A Offline
      Ajay Vijayvargiya
      wrote on last edited by
      #8

      Other than CString (and not std::string) I use STL for everything else. std::string is terribly bad! For non-MFC project, you just need to include atlstr.h for CString (no DLL required).

      L 1 Reply Last reply
      0
      • S Software2007

        I have been doing MFC coding. I am learning to do some STL lately, which Template project is the best for STL coding? is it ATL? Thanks

        D Offline
        D Offline
        dazfuller
        wrote on last edited by
        #9

        I tend to use the console application template and start by removing everything I don't want, so CLR support, stdafx.h etc...

        1 Reply Last reply
        0
        • S Software2007

          I have been doing MFC coding. I am learning to do some STL lately, which Template project is the best for STL coding? is it ATL? Thanks

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #10

          if you want to use std::string, the best way to get into that is to redefine your string type with something like this: typedef std::basic_string, std::allocator > tstring; typedef std::basic_stringstream, std::allocator > tstringstream; using it you dont have to worry if using unicode or ansy character sets it's really useful!

          Saludos!! ____Juan

          E 1 Reply Last reply
          0
          • L Lost User

            if you want to use std::string, the best way to get into that is to redefine your string type with something like this: typedef std::basic_string, std::allocator > tstring; typedef std::basic_stringstream, std::allocator > tstringstream; using it you dont have to worry if using unicode or ansy character sets it's really useful!

            Saludos!! ____Juan

            E Offline
            E Offline
            Emilio Garavaglia
            wrote on last edited by
            #11

            Beware useing <and > in messages, since HTML mess them up! I try to rewrite your message properly. Correct me if I misinterpret. "
            if you want to use std::string, the best way to get into that is to redefine your string type with something like this:

            typedef std::basic_string<TCHAR,std::allocator<TCHAR> >tstring;
            typedef std::basic_stringstream<TCHAR, std::allocator<TCHAR> > tstringstream;

            using it you dont have to worry if using unicode or ansy character sets "

            2 bugs found. > recompile ... 65534 bugs found. :doh:

            1 Reply Last reply
            0
            • A Ajay Vijayvargiya

              Other than CString (and not std::string) I use STL for everything else. std::string is terribly bad! For non-MFC project, you just need to include atlstr.h for CString (no DLL required).

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #12

              Ajay Vijayvargiya wrote:

              std::string is terribly bad!

              I'd be interested to know why, especially as I do not have access to MFC.

              Just say 'NO' to evaluated arguments for diadic functions! Ash

              A 1 Reply Last reply
              0
              • L Lost User

                Ajay Vijayvargiya wrote:

                std::string is terribly bad!

                I'd be interested to know why, especially as I do not have access to MFC.

                Just say 'NO' to evaluated arguments for diadic functions! Ash

                A Offline
                A Offline
                Ajay Vijayvargiya
                wrote on last edited by
                #13

                Richard MacCutchan wrote:

                I'd be interested to know why, especially as I do not have access to MFC.

                For one, it does not support direct conversion to plain C-style strings. You must call set of methods. It does not support Format/sprintf type of functions, not methods to convert to upper/lower, methods to trim, convert from Unicode/ANSI string and things that should be part of a good "string manipulation class". See wxString, which I prefer over CString!

                N 1 Reply Last reply
                0
                • A Ajay Vijayvargiya

                  Richard MacCutchan wrote:

                  I'd be interested to know why, especially as I do not have access to MFC.

                  For one, it does not support direct conversion to plain C-style strings. You must call set of methods. It does not support Format/sprintf type of functions, not methods to convert to upper/lower, methods to trim, convert from Unicode/ANSI string and things that should be part of a good "string manipulation class". See wxString, which I prefer over CString!

                  N Offline
                  N Offline
                  Nemanja Trifunovic
                  wrote on last edited by
                  #14

                  Ajay Vijayvargiya wrote:

                  For one, it does not support direct conversion to plain C-style strings

                  Which is good, because it saves you from a whole class of subtle bugs. Explicit conversion is always better than implicit. Having said that, I don't like std::string either - it is an example of monolithic design[^]. But that does not mean CString is any better.

                  utf8-cpp

                  A A 2 Replies Last reply
                  0
                  • N Nemanja Trifunovic

                    Ajay Vijayvargiya wrote:

                    For one, it does not support direct conversion to plain C-style strings

                    Which is good, because it saves you from a whole class of subtle bugs. Explicit conversion is always better than implicit. Having said that, I don't like std::string either - it is an example of monolithic design[^]. But that does not mean CString is any better.

                    utf8-cpp

                    A Offline
                    A Offline
                    Alain Rist
                    wrote on last edited by
                    #15

                    Nemanja Trifunovic wrote:

                    an example of monolithic design[^]

                    Excellent article, thanks, AR

                    When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      Ajay Vijayvargiya wrote:

                      For one, it does not support direct conversion to plain C-style strings

                      Which is good, because it saves you from a whole class of subtle bugs. Explicit conversion is always better than implicit. Having said that, I don't like std::string either - it is an example of monolithic design[^]. But that does not mean CString is any better.

                      utf8-cpp

                      A Offline
                      A Offline
                      Ajay Vijayvargiya
                      wrote on last edited by
                      #16

                      Nemanja Trifunovic wrote:

                      Which is good, because it saves you from a whole class of subtle bugs. Explicit conversion is always better than implicit.

                      Heard of this umpteen number of times, but doesn't appease me at all. I am using a string-class for string, a text, and in C/C++ code it is supposed to mix with C-Style strings. The conversion is implicit to C-string and not from a C-string. You cannot assign a CString to char*/``wchar_t*, the compiler wont be happy. If you say you can put into const char*, and then do forceful conversion, then my friend, you are placing the so called "bug" by yourself. I mean, what a vector<char> would be called other than std::string? A good string-class must have string operations. Even in case, I wont have access to CString, I would write my own string-class, or download code written by some expert, instead of using this absurd std::string!

                      Nemanja Trifunovic wrote:

                      But that does not mean CString is any better.

                      Any better, compared to what?

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups