News

Quick Q: Why doesn't my C++ program compile under Windows 7 French? -- StackOverflow

Quick A: It's a language conformance issue.

Today on StackOverflow:

Why can't my program compile under Windows 7 in French?

I'm running Windows 7 French and I'm trying to compile this really basic program, but Visual Studio is being stubborn and refuses to comply. I also tried compiling it with both GCC 4.7 and Clang trunk on Coliru and I get more or less the same errors (output is below the code), though I think Coliru runs on an English OS so I wouldn't expect it to work anyway.

What am I doing wrong? And how can I fix it?

C++ in the 21st Century -- Arvid Norberg

A recently posted talk by BitTorrent's chief architect:

C++ in the 21st Century

by Arvid Norberg

From the announcement:

In this edition of Tech Talks: an overview of some C++ gems. I threw this talk together because my team was about to start a new project in C++11. Since it’s fairly new, I figured some of it might not be as well-known as it should. Fundamentally, I’m pretty excited about all the new possibilities in C++11. Even higher-level abstractions, at even lower cost than C++98.

In the video below, we go over for-loops, automatic type deduction, lambda functions and more.

Declare functions noexcept wherever possible? -- Scott Meyers

Scott Meyers' work on his new "Effective C++" book, tentatively titled Effective Modern C++, progresses with an updated draft item:

Declare functions noexcept wherever possible?

by Scott Meyers

From the article:

In the comments following my last post, there was some controversy regarding the wording of my advice on noexcept functions. My advice is "Declare functions noexcept whenever possible." Some people appear to be concerned that this could be misconstrued as advocating noexcept even when it makes no sense, but I think the advice is a reasonable conclusion to the Item that supports it. I posted a draft version of that Item in early February, but I've revised the draft since then, and I'm making the current draft available now: ...









C++ Status

A follow up on my proposal series & C++14 post:

C++ Status

by Jens Weller

From the Article:

This is the followup I promised after my last series for Issaquah. The current status of the standardization is that C++14 is on its final way to become a new ISO Standard, as you can see on the C++ Status Page of isocpp.org.

CppCon 2014 Call for Submissions

cppcon-165.PNGCppCon announced today:

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community and so we invite you to present.

Have you learned something interesting about C++, maybe a new technique possible in C++11? Or perhaps you have implemented something cool related to C++, maybe a new C++ library? If so, consider sharing it with other C++ enthusiasts by giving a talk at CppCon 2014. Submissions deadline is May 15 with decisions sent by June 13. For topic ideas, possible formats, and submission instructions, see the Submissions page.

From the Submissions page:

Submissions

CppCon is organized by the C++ community for the community and so we invite the community to present.

Who Should Submit?

You. If you have something interesting to share with the C++ community then consider presenting. Our goal is to create the best program that we can and we feel that there must be room for both seasoned presenters and new voices.

Topics

We are open to any topic that will be of interest to a mainstream C++ audience. Below are some ideas.

  • C++11
  • C++ libraries and frameworks of general interest
  • C++14 and new standardization proposals
  • Parallelism/multi-processing
  • Concepts and generic programming
  • Functional programming
  • High performance computing
  • Software development tools, techniques, and processes for C++
  • Practical experiences using C++ in real-world applications
  • Industry-specific perspectives: mobile and embedded systems, game development, high performance trading, scientific programming, robotics, etc.

Format

Standard presentation sessions are one hour long (including Q&A). We can accommodate half hour sessions and multi-hour submissions. Note that multi-hour submissions may be harder to accommodate. Please indicate your flexibility.

We will also have Lightning Talks, but they need not be submitted in advance. We will share more information about Lightning Talks and other opportunities for Open Content in time for you to plan your participation.

Speaker Registration

Half and full session speakers will have their conference registration fee waived (one speaker per session). If you are planning to submit a proposal, please do not register for the conference at this time. You’ll be contacted with special registration instructions later.

Further financial assistance is available to all speakers. Details are provided on request.

Submitting

Please include:

  • Session Information:
    • Session Title
    • Session Type: lecture, panel, tutorial, workshop, case study, demonstration, etc.
    • A one or two paragraph abstract, suitable for the conference web site
    • Optimum, minimum, and maximum length (these may be the same); see Format above
    • Level/Audience: basic, intermediate, advanced, library authors, game developers, etc.
    • Whether you allow us to record your session
    • Session materials that will be available at conference time (slides, source code, etc.)
  • Presenter Information:
    • A short biography, suitable for the conference web site
    • A headshot photo of about 150 x 150 (will be contacted for it separately)
    • Your public contact information (twitter handle, blog, website, google+ page, etc)
    • Your private contact information (at least email, will not be made public)


All submissions should be made through the EasyChair conference management system. If you have not already registered at EasyChair, you will need to do so in order to submit your proposal. All submissions will go through a peer review process.

Presenters are encouraged, but not required, to submit slides and source code for distribution to attendees and to agree to have their sessions recorded. Presenters must agree to grant a non-exclusive perpetual license to publish submitted and/or recorded materials, either electronically or in print, in any media related to CppCon.

If you have any questions about the submission process, please contact the Program Committee. If you have any technical problems with EasyChair, please contact them for help.

Dates

Submission deadline: 15 May 2014
Decision notifications by: 13 June 2014
Program available online: 27 June 2014

For a chronological view of all the key dates, refer to the CppCon 2014 Timeline.

HPX version 0.9.8 released -- STE||AR Group

The STE||AR Group has released V0.9.8 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.8 Released

The newest version of HPX (V0.9.8) is now available for download! Please see here for the release notes.

HPX now exposes an API fully conforming to the concurrency related parts of the C++11 and the draft C++14 standards, extended and applied to distributed computing.

From the announcement:

  • A large part of the code base of HPX has been refactored and partially re-implemented: the threading and networking subsystems have been improved in performance, modularity, and robustness, the API was improved for closer conformance to the concurrency related parts of the C++11 and C++14 draft standards and the upcomming Concurrency TS.
  • We added new API functionality like hpx::migrate and hpx::copy_component which are the basic building blocks necessary for implementing higher level abstractions for system-wide load balancing, runtime-adaptive resource management, and object-oriented check-pointing and state-management.
  • We improved the distributed reference counting scheme used by HPX which helps managing distributed objects and memory.

Quick Q: Is std::array movable any better than a plan C array? -- StackOverflow

Quick A: Yes.

Today on SO:

Move constructors and std::array

According to N3485 §23.3.2.2:

(...) the implicit move constructor and move assignment operator for array require that T be MoveConstructible or MoveAssignable, respectively.

So, std::array supports move semantics if the type of its elements does. Great!

However, what does this really mean? I tend to picture this type as a safer version of an array providing an STL-compliant interface but, if this is true, then how can an std::array move-construct its elements? Can I do the same with an ordinary array?