Skip to main content
Active reading [<https://en.wiktionary.org/wiki/thing#Noun> <https://en.wiktionary.org/wiki/resource#Noun> <https://en.wikipedia.org/wiki/Sentence_clause_structure#Run-on_sentences> <https://en.wikipedia.org/wiki/Boost_%28C%2B%2B_libraries%29>].
Source Link
Peter Mortensen
  • 31.2k
  • 22
  • 110
  • 134

The first tingthing IMO are smart pointers. Integration into new code is simple, and is usually not a problem for existing code. They make memory management easy, and work for many other ressourcesresources, too.

C++ gives you the power to manage your own memory, and smart pointers let you (mostly) wing it when you don't need to.

The second would be - asbe—as you mentioned - functionmentioned—function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only little experience with boostBoost outside these two, but most of the remainder is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might not need them - but they are better than API or C++ level in any case.

Maybe you like my introduction to boostBoost smart pointers, and a rather unorthodox use for them.

The first ting IMO are smart pointers. Integration into new code is simple, and usually not a problem for existing code. They make memory management easy, and work for many other ressources, too.

C++ gives you the power to manage your own memory, smart pointers let you (mostly) wing it when you don't need to.

The second would be - as you mentioned - function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only little experience with boost outside these two, but most of the remainder is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might not need them - but they are better than API or C++ level in any case.

Maybe you like my introduction to boost smart pointers, and a rather unorthodox use for them.

The first thing IMO are smart pointers. Integration into new code is simple and is usually not a problem for existing code. They make memory management easy, and work for many other resources, too.

C++ gives you the power to manage your own memory, and smart pointers let you (mostly) wing it when you don't need to.

The second would be—as you mentioned—function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only little experience with Boost outside these two, but most of the remainder is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might not need them - but they are better than API or C++ level in any case.

Maybe you like my introduction to Boost smart pointers, and a rather unorthodox use for them.

added 5 characters in body
Source Link
peterchen
  • 41.4k
  • 22
  • 110
  • 195

The first ting IMO are smart pointers. Integration into new code is simple, and usually not a problem for existing code. They make memory management easy, and work for many other ressources, too.

C++ gives you the power to manage your own memory, smart pointers let you (mostly) wing it when you don't need to.

The second would be - as you mentioned - function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only a little experience with boost outside these two, but most ofthe remainerof the remainder is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might noodnot need them - but still they are better than API or C++ level in any case.

Maybe you like my introduction to boost smart pointers, and a rather unorthodox use for them.

The first ting IMO are smart pointers. Integration into new code is simple, and usually not a problem for existing code. They make memory management easy, and work for many other ressources, too.

C++ gives you the power to manage your own memory, smart pointers let you (mostly) wing it when you don't need to.

The second would be - as you mentioned - function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only a little experience with boost outside these two, but most ofthe remainer is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might nood need them - but still they are better than API or C++ level.

Maybe you like my introduction to boost smart pointers, and a rather unorthodox for them.

The first ting IMO are smart pointers. Integration into new code is simple, and usually not a problem for existing code. They make memory management easy, and work for many other ressources, too.

C++ gives you the power to manage your own memory, smart pointers let you (mostly) wing it when you don't need to.

The second would be - as you mentioned - function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only little experience with boost outside these two, but most of the remainder is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might not need them - but they are better than API or C++ level in any case.

Maybe you like my introduction to boost smart pointers, and a rather unorthodox use for them.

Source Link
peterchen
  • 41.4k
  • 22
  • 110
  • 195

The first ting IMO are smart pointers. Integration into new code is simple, and usually not a problem for existing code. They make memory management easy, and work for many other ressources, too.

C++ gives you the power to manage your own memory, smart pointers let you (mostly) wing it when you don't need to.

The second would be - as you mentioned - function objects, they close a big gap within C++ that is traditionally solved through inheritance, which is to strong of a coupling in many cases.

I have only a little experience with boost outside these two, but most ofthe remainer is fairly "situational" - you may or may not need it. Get an overview over the libraries, and see what you need.

boost::any and boost::variant are good of you need a variant data type, with two different approaches.

boost::regex if you need some text parsing.

boost::thread and boost::filesystem help you write portable code. If you already have good platform specific libraries, you might nood need them - but still they are better than API or C++ level.

Maybe you like my introduction to boost smart pointers, and a rather unorthodox for them.