Description:
Technical discussion of the C++ language. (Moderated)
|
|
|
spoilt for choice: choosing the right container
|
| |
Hi! We have a row base visualization of data and we need a very fast access to the data and for updating the individual rows. Using a sorted vector - initially - everything looks fine as long we are not forced to sort on each new added item. Positive: - "push_back" is fast - "distance" is fast - you can use "reserve"... more »
|
|
Variadic Templates - parralel_invoke
|
| |
Given the code below (excerpt from ppl.h in VS2010 Pro Beta2), how can parallel_invoke be re-written to use variadic templates? Keep in mind has to be called last, with the last element from the parameter pack. I have provided an implementation, but I am not sure if this will achieve the intended goal.... more »
|
|
Memberwise copying?
|
| |
I had always thought that C++, if you did not make an explicit copy constructor and assignment operator, copying would be bitwise, as if a memcpy had been performed. But as I have been trying to learn boost, particularly boost spirit, I see constructs that seem to me as if this is not the case. Furthermore, although there are plenty of posts that... more »
|
|
istringstream constructor performance
|
| |
I have written some C style static methods that convert strings to doubles, ints, longs, etc. using the C++ string stream objects. Each of the converter methods use a locally constructed istringstream object which uses the >> operator to make the conversions. A typical method looks like: double ToDouble( const string & str)... more »
|
|
std::vector of const values
|
| |
Hi all, I have run into this problem a few times and was hoping there was a more elegant solution than what I was doing. Suppose I have the following code: ...void doStuff( const std::vector< const int* >& ints ) { for( size_t i = 0; i != ints.size(); ++i ) std::cout << *ints[ i ] << std::endl;... more »
|
|
Question on goto with try/catch
|
| |
A project I am working on has large amounts of code written in this style: void MyClass::MyFunction() { try { // code here if(something bad happened) goto label; } catch(...) { // exception handling here. } label: // Run cleanup code - deallocate memory, etc.... more »
|
|
Copy C'tor - doubt
|
| |
I have a situation where I'm required to generate a copy of an object. I have simplified the class into a tiny one, but in reality its a huge class with multiple struct types as data member. Here is my simplified class: class AB { private: int a; public: AB(int ar): a(ar){}... more »
|
|
Boost release 1.41.0 available
|
| |
Release 1.41.0 of the Boost C++ Libraries is now available. These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. This release contains one new library and numerous bug fixes for... more »
|
|
type erasure problem, correctly up casting from void*
|
| |
Hi, I have a system which handles arbitrary types, and to be able to invoke the correct functions I use type erasure with a void* argument. This works dandy most of the time, save for when the type inherits from multiple types, in which case it naturally fails spectacularly. So, somehow I must either change the interface to not use void*, in... more »
|
|
stack corruption in release
|
| |
Hi all, i'm working on a big program, wich is an awful mix of C and C++. I'm on windows XP, with Visual Studio 2008 SP1. This program works fine in debug mode. But in release mode, there is a crash without any message, and the catch() block don't catch nothing. I located the function where the crash occurs. In this function, if i... more »
|
|
|