Slides of the 4th of November 2013 BeCPP Meeting
The Belgian C++ Users Group meeting on 4th of November 2013 was again a great success. There were around 35 attendees. Thank you everyone for joining us. We would also like to thank LMS International, a Siemens Business for sponsoring the event by providing the location and catering.
If you couldn’t attend the event in person, or if you would like to go over the material again, you can download them below.
Presentation: “String Handling” by Lieven de Cock
You can also download all the source code that was shown during the presentation from here.
Pictures of the 4th of November 2013 BeCPP Meeting
Here are some pictures of the Belgian C++ Users Group meeting held on 4th of November 2013.















Know your tools: speed comparison between C++ compilers
As compilers continuously evolve, developers have new expectations on compilation speed, generated code performance and standards compliance.
Slashdot has published their own benchmarks that pit Intel C++, G++ and LLVM Clang against each other. The benchmark is tailored to modern C++ development needs and involves code using both the TBB and the Cilk Plus parallel processing libraries. Quite a bit of template heavy metaprogramming code has also been included to test the compilation time performance. In total, over 6000 lines of code have been fed to each compiler.
The results? They might just surprise you. Read all about them here.
Source: slashdot.org
Visual Studio 2013 Available for Download
The final versions of Visual Studio 2013, Team Foundation Server 2013 and .NET 4.51 are now available from MSDN. You can also download trials.
VS 2013 can be installed side by side with previous versions of Visual Studio or, if you have a VS 2013 pre-release, it can be installed straight on top of the pre-release. TFS 2013 cannot be installed side by side but can also be installed on top of either a previous version (TFS 2012 or TFS 2010) or a pre-release.
Learn more about what’s new in Visual Studio 2013.
What’s new in Visual C++ 2013 (excerpt from MSDN):
- Compiler
- Added support for the following ISO C++11 language features:
- Default template arguments for function templates.
- Delegating constructors.
- Explicit conversion operators.
- Initializer lists and uniform initialization.
- Raw string literals.
- Variadic templates.
- Alias templates.
- Deleted functions.
- Non-static data member initializers (NSDMIs).
- Defaulted functions. (using =default to request memberwise move constructors and move assignment operators is not supported)
- Added support for the following ISO C99 language features:
- _Bool
- Compound literals.
- Designated initializers.
- Mixing declarations with code.
- String literal conversion to modifiable values can be disallowed by using the new compiler option /Zc:strictStrings. In C++98, conversion from string literals to char * (and wide string literals to wchar_t *) was deprecated. In C++11, the conversion was removed entirely. Although the compiler could strictly conform to the standard, instead it provides the /Zc:strictStrings option so that you can control conversion. By default, the option is off. Note that when you are using this option in debug mode, the STL will not compile.
- rvalue/lvalue Reference Casts. With rvalue references, C++11 can clearly distinguish between lvalues and rvalues. Previously, the Visual C++ compiler did not provide this in specific casting scenarios. A new compiler option, /Zc:rvalueCast, has been added to make the compiler conformant with the C++ Language Working Paper(see section 5.4, [expr.cast]/1). The default behavior when this option is not specified is the same as in Visual Studio 2012.
- Added support for the following ISO C++11 language features:
- STL
- Support for the C++11 explicit conversion operators, initializer lists, scoped enums, and variadic templates.
- All containers now support the C++11 fine-grained element requirements.
- Support for these C++14 features:
- “Transparent operator functors” less<>, greater<>, plus<>, multiplies<>, and so on.
- make_unique<T>(args…) and make_unique<T[]>(n)
- cbegin()/cend(), rbegin()/rend(), and crbegin()/crend() non-member functions.
- <atomic> received numerous performance enhancements.
- <type_traits> received major stabilization and code fixes.
This list is just a small part of everything that’s new. There are also
- Visual C++ library enhancements
- C++ application performance enhancements
- Diagnostics enhancements
- 3D graphics enhancements
- Quite a few very nice IDE and Productivity enhancements.
Visual C++ 2013 now also supports “just my code” debugging which makes working with C++ even better. The ability to filter the call stack down to just the code you wrote when debugging has long existed for managed languages and is now available for C++ 🙂
Next BeCPP UG Meeting Planned For November 4th, 2013
The next meeting of the Belgian C++ Users Group is planned for Monday November 4th, 2013 at 18:00 at LMS International, a Siemens Business.
LMS International ( http://www.lmsintl.com/ ) is sponsoring this event by providing the location, drinks and catering.
This time, there will be one speaker, giving two presentations of one hour on one subject.
The agenda is as follows:
- 18:00: Sandwiches.
- 18:30: Session 1: Strings and String Manipulation in C++, Part 1 (Lieven de Cock)
Once there were c-arrays, evolution brought us std::string. This made life easier, and less manual reimplementation was needed because of the power std::string brought to the table.
Nevertheless we still keep on reimplementing basic and advanced string manipulation functionality.
By this continuously reinventing the wheel we spend a lot of time fixing the same mistakes, while out there are tried and tested and proven libraries. C++11 also brings more power, but we will focus on boost string manipulations.
Basic manipulations, like replace, find, erase, split, join, trim, …, next to lexical_cast, boost tokenizer, regex (both boost and std) will be explained and show cased. Next to the lexical_cast we will mention std::to_string. Similar library functionality provided by the POCO libraries will be shown too.
String power is at your fingers for free, just say the magic word. - 19:30: Break
- 19:45: Session 2: Strings and String Manipulation in C++, Part 2 (Lieven de Cock)
- 20:45: Demo of an LMS International software product followed by a drink.
The event is free for everyone, but you need to register for it.
There are 40 seats available for this event.
Note: The deadline for registrations is October 29th, 2013!
Pictures of the 12th of June 2013 BeCPP Meeting
Here are some pictures of the Belgian C++ Users Group meeting held on 12th of June 2013, with Jens Weller and Joel Falcou as speakers.
























Slides of the 12th of June 2013 BeCPP Meeting
The Belgian C++ Users Group meeting on 12th of June 2013 was again a great success. There were around 45 attendees. Thank you everyone for joining us. We would also like to thank Nikon Metrology for sponsoring the event by providing the location and catering.
If you couldn’t attend the event in person, or if you would like to go over the slides again, you can download them below.
Presentation: “Qt5 – Multimedia Overview” by Jens Weller
Presentation: “Boost.Proto” by Joel Falcou (Main)
Presentation: “Boost.Proto” by Joel Falcou (Proto-by-Doing)
Presentation: “Nikon Metrology Overview” by Jan De Geeter
I hope to see you all on future BeCPP events.
ISO C++ evolving faster than before
The ISO C++ 2011 standard was a very exciting (and on some of its features, controversial) development for the language, up until when it was finalized and approved. There was hope, though not without some skepticism, that the standard would evolve at a faster pace in the future.
Fast forward to May 2013, and what we see is that the standards committee is delivering on their promise: A feature-complete working draft for the upcoming language standard, called by some C++14 (or C++1y by the most cautious) has been written as a result of the Bristol meeting, and published on the official standard C++ site. You can download a copy of the working draft here.
Among the approved new features of this minor standard update are quite a few standard library additions (such as the file system library and the very often requested make_unique), variable templates, generic lambdas and “Concepts Lite”.
A common complaint C++ developers used to have is that compilers also do not adapt quickly enough to the new standard. While it is debatable whether two years is too long a time span for integrating a new standard, the amount of changes between C++98 and C++11 was massive, both on language features and standard library. Most compilers cover, in one way or another, the vast majority of the current standard features.
As of version 4.8.1 (which will officially be released in a matter of weeks), GCC will be C++11 feature complete; the Clang team has recently announced (via twitter) full standard compliance (will be part of a release this summer); and finally, Visual C++ continuously gets updated with further support of the current standard.
Source: www.isocpp.org.
Next BeCPP UG Meeting Planned For June 12th, 2013
The next meeting of the Belgian C++ Users Group is planned for Wednesday June 12th, 2013 at 18:00 at Nikon Metrology HQ.
Nikon Metrology ( http://nikonmetrology.com/ ) is sponsoring this event by providing the location, drinks and catering.
There will be two international speakers:
- Joel Falcou is an assistant professor at the University Paris-Sud and researcher at the Laboratoire de Recherche d’Informatique in Orsay, France. His work focuses on investigating high-level programming models for parallel architectures (present and future) and providing efficient implementation of such models using high-performance language features. He’s an active member of the Boost community and CEO of MetaScale, a French start-up valorizing his research. He is also a member of the ISO C++ Standards Committee.
- Jens Weller is a self-employed C++ specialist, working with C++ for over 14 years. He is organizing the C++ conference “Meeting C++” in Düsseldorf, and also runs http://meetingcpp.com. Jens has some vast C++ experience gathered as a freelancer in the IT Industry.
The agenda is as follows:
- 18:00: Sandwiches.
- 18:30: Session 1: Qt5 – Multimedia Overview (Jens Weller)
The talk will give a short introduction into Qt5, and focus on its Multimedia Framework, showing how to write an MP3 Player or a video recorder in Qt5. - 19:30: Break
- 19:45: Session 2: Boost.Proto (Joel Falcou)
C++ Embedded Domain Specific Languages Made Easy. - 20:45: Guided tour of Nikon Metrology followed by a drink.
Every attendee will receive a discount code for 40% off on the cover-price of any Packt eBook courtesy of Packt Publishing.
The event is free for everyone, but you need to register for it.
There are 50 seats available for this event.
Note: The deadline for registrations is June 5th, 2013!
Community Day 2013
The Belgian community is organizing the 7th edition of Community Day! Community Day 2013 will take place on June 20th 2013 in Utopolis Mechelen.
14 user groups will outperform themselves to bring you their view on Microsoft products in more than 25 sessions. 2013 is not a release year for Microsoft so far, so that gives us, the community, the opportunity to do deep-dive sessions in interesting topics. The biggest goal of this edition is bringing you high-quality sessions. And we’re pretty sure we have achieved that. Why don’t you take a look yourself at our agenda? Oh and don’t forget to take a look at our sponsor page, because it’s thanks to them we can organize this great event!
Convinced you need to be part of the experience again? Want to register? Great! Registration opens in the second week of May so come back soon to reserve your seat. Remember that last year, the event was sold out very fast, so make sure you’re on time!
The Microsoft Community Day 2013 is powered by:
- AZUG
- Belgian C++ user group
- BIWUG
- CLUG
- Pro-Exchange
- SCUG
- SQLUG
- ACCB.net/VBIB
- Visug
- WinSec
- WinTalks
- DotNetHub
- MADN
- TechNine
We hope to see you on June 20th!