c++0x

Any ideas for C++1y ?

I know that C++0x is not out the door yet, but what would you like to see in C++1y? Update: C++0x to be called C++1x :o( ...

Is returning by rvalue reference more efficient?

for example: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1, 1)); } ...

How can/should C++ static member variable and function be hidden?

m_MAX and ask() are used by run() but should otherwise not be public. How can/should this be done? #include <vector> class Q { public: static int const m_MAX=17; int ask(){return 4;} }; class UI { private: std::vector<Q*> m_list; public: void add(Q* a_q){m_list.push_back(a_q);} int run(){return Q::m_MAX==m_list[0]->a...

C++0x will no longer have concepts. Opinions? How will this affect you?

At the July 2009 C++0x meeting in Frankfurt, it was decided to remove concepts from C++0x. Personally, I am disappointed but I'd rather have an implementable C++0x than no C++0x. They said they will be added at a later date. What are your opinions on this decision/issue? How will it affect you? ...

C++0X Concepts are gone. Which other features should go too?

As you may have heard, the last meeting of the C++ standards committee voted to remove concepts from the next C++ standard. Of course, this will affect other features and would seem to throw the standard wide open again. If that is the case, which other features do you think should be stripped away (or added), and why? Links: Removal o...

fstream linking error in g++ with -std=gnu++0x

Hello, I'm have an application built with the -std=gnu++0x parameter in tdm-mingw g++ 4.4.0 on windows. It is using an ofstream object and when I build, it gives the following linking error: c:\opt\Noddler/main_func.cpp:43: undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string const&, st...

Determine compile-time existence of include files in C++

I'm trying to write some portable C++ library code that will initially rely on Boost.Regex, and then move to TR1 as compilers support it, and eventually to the C++0x specification after things get moved from the std::tr1 namespace to std. Here is some pseudo-code for what I'd like to do with the preprocessor: if( exists(regex) ) // c...

How do Concepts differ from Interfaces?

How do Concepts (ie those recently dropped from the C++0x standard) differ from Interfaces in languages such as Java? ...

iterate over tuple

Hello! How can I iterate over a tuple (using C++0x)? I tried the following, but that doesn't work: for(int i=0; i<std::tuple_size<T...>::value; ++i) std::get<i>(my_tuple).do_sth(); Error 1: sorry, unimplemented: cannot expand ‘Listener ...’ into a fixed-length argument list. Error 2: i cannot appear in a constant expression. So, ...

Hypothetical, formerly-C++0x concepts questions

(Preamble: I am a late follower to the C++0x game and the recent controversy regarding the removal of concepts from the C++0x standard has motivated me to learn more about them. While I understand that all of my questions are completely hypothetical -- insofar as concepts won't be valid C++ code for some time to come, if at all -- I am s...

C++0x lambdas coding style

I wonder how people are using C++0x lambdas, in terms of coding style. The most interesting question is how thorough to be when writing the capture list. On one hand, the language allows to list captured variables explicitly, and by the "explicit is better than implicit rule", it would therefore make sense to do an exhaustive listing to ...

Is C++0x collapsing under the weight of new features and the standardization process?

From Dr. Dobbs: Concepts were to have been the central new feature in C++0x Even after cutting "concepts," the next C++ standard may be delayed. Sadly, there will be no C++0x (unless you count the minor corrections in C++03). We must wait for C++1x, and hope that 'x' will be a low digit. There is hope because C++1x...

Library plans for C++0x?

Lately I've been getting very excited about the support for lambdas in VC2010. I'm slowly starting to grasp the full potential this feature has in transforming C++ into something alot better. But then I realized that this potential greatly depends on main stream support of lambdas in day to day libraries like boost and QT. Does anyone k...

How does one include TR1?

Different compilers seem to have different ideas about TR1. G++ only seems to accept includes of the type: #include <tr1/unordered_map> #include <tr1/memory> ... While Microsofts compiler only accept: #include <unordered_map> #include <memory> ... As for as I understand TR1, the Microsoft way is the correct one. Is there a way to ...

What are concepts?

I've heard all this new (on /.) about C++0x not having concepts anymore, but I have no idea what they are? Can someone explain to me? ...

Where do you track the developments of new c++ standards?

Where do you guys generally look for developments in C++, most importantly, developments in new standard and its approx/scheduled release data? also boost (well, boost.com) Is there a centralized place? thx ...

C++0x noise, bloat and portability

At first when I saw the upcoming C++0x standard I was delighted, and not that I'm pessimistic, but when thinking of it now I feel somewhat less hopeful. Mainly because of three reasons: a lot of boost bloat (which must cause hopeless compile times?), the syntax seems lengthy (not as Pythonic as I initially might have hoped), and I'm v...

Will pthreads become obsolete once std:thread makes into C++Ox

Obviously we will still maintain it, but how useful will it be, once the C++ standard guarantees is. What about synchronization primitives (Mutex, conditional variables) with advent of the new standard? Do you consider pthread harder to master as opposed to std::thread? ...

delete boost function while in use

I have a situation where a boost::function and boost::bind (actually a std::tr1::function and bind) are being deleted while still in use. Is this safe? I would normally avoid it, but the offending code is a bit entrenched and my only other option is adding a new thread. typedef function<int(int)> foo_type; foo_type* global_foo = NULL...

What exactly is nullptr in C++0x?

Most of C++ programmers are waiting for C++0x. An interesting feature and a confusing one (at least for me) is the new nullptr. Well, no need anymore for the nasty macro NULL. int* x = nullptr; myclass* obj = nullptr; Still, I am not getting how nullptr works. For example, Wikipedia article says: C++0x aims to correct this by i...