c++

Visual C++ 2008: Finding the cause of slow link times

I have a legacy C++ project that takes an annoyingly long time to build (several minutes, even for small incremental changes), and I found most of the time was spent linking. The project is already using precompiled headers and incremental compilation. I have enabled the "/time" command line parameter in the hope I would get more detail...

Change the text of a gcc compiler error

Hello, At my company we have recently done some tricky stuff with C++ and templates, making use of some features of the compiler. When working with this code people need to take a few setup steps otherwise they get some rather cryptic compiler errors, what I would like to do is determine if there is a way to tell the compiler to inject,...

C++ - repeatedly using istringstream

I have a code for reading files with float numbers on line stored like this: "3.34|2.3409|1.0001|...|1.1|". I would like to read them using istringstream, but it doesn't work as I would expect: string row; string strNum; istringstream separate; // textovy stream pro konverzi while ( getline(file,row) ) { separate.str(r...

C++ template parameter/class ambiguity

hello. while testing with different version of g++, the following problem came up template<class bra> struct Transform<bra, void> : kernel::Eri::Transform::bra { static const size_t ni = bra::A::size; bra::A is interpreted as kernel::Eri::Transform::bra::A, rather than template argument by g++ 4.1.2. on the other hand, g++ ...

Deleting dynamic array of char in C++.

I have this class, with the atribute 'word' class Node { char *word; Inside the Node constructor, I do this asignation: word = new char[strlen(someword)]; In the destructor of the Node class, I try to delete the contents pointed by word: delete []word; I obtain the next message after executing the programs: "Heap block ...

Is it standard C++ to assign a member pointer to the address of another member in the constructor initializer?

Does this conform to the standard? class Foo { Bar m_bar; Bar * m_woo; public: Foo() : m_bar(42, 123), m_woo(&m_bar) { } }; ...

How to Elegantly convert switch+enum with polymorphism

I'm trying to replace simple enums with type classes.. that is, one class derived from a base for each type. So for example instead of: enum E_BASE { EB_ALPHA, EB_BRAVO }; E_BASE message = someMessage(); switch (message) { case EB_ALPHA: applyAlpha(); case EB_BRAVO: applyBravo(); } I want to do this: Base* message = someMessage...

Friendness and derived class

Hi, Let's say I have the following class hierarchy: class Base { protected: virtual void foo() = 0; friend class Other; }; class Derived : public Base { protected: void foo() { /* Some implementation */ }; }; class Other { public: void bar() { Derived* a = new Derived(); a->foo(); // Compile...

HTML templating in C++ and translations

I'm using HTML_Template for templating in my C++-based web app (don't ask). I chose that because it was very simple and it turns out to be a good solution. The only problem right now is that I would like to be able to include translatable strings in the HTML templates (HTML_Template does not really support that). Ultimately, what ...

friend declaration in C++

In Thinking in C++ by Bruce eckel, there is an example given regarding friend functions as // Declaration (incomplete type specification): struct X; struct Y { void f(X*); }; struct X { // Definition private: int i; public: friend void Y::f(X*); // Struct member friend }; void Y::f(X* x) { x->i = 47; } Now he explained this: N...

I'm having trouble with using std::stack to retrieve the values from a recursive function.

Thanks to the help I received in this post: http://stackoverflow.com/questions/2761918/how-do-i-use-this-in-a-member-function I have a nice, concise recursive function to traverse a tree in postfix order: void Node::postfix() { if (left != __nullptr) { left->postfix(); } if (right != __nullptr) { right->postfix(); } ...

is it possible to apply an RC5 algorithm on an audio file in c++ ?

is it possible to encrypt an audio file in c++ using rc5? ...

How to track down COM memory leak

I'm trying to track down a memory leak in a COM object, and I'm not seeing anything obviously wrong. I'm probably using some of the COM wrappers incorrectly, but my standard toolkit of finding memory leaks (AQtime) isn't helping me with COM. Does anyone have any tricks/tools to track down COM memory/reference leaks? ...

delay loop output in C++

I have a while loop that runs in a do while loop. I need the while loop to run exactly every second no faster no slower. but i'm not sure how i would do that. this is the loop, off in its own function. I have heard of the sleep() function but I also have heard that it is not very accurate. int min5() { int second = 00; int minut...

reading a file word by word

I can read from a file 1 character at a time, but how do i make it go just one word at a time? So, read until there is a space and take that as a string. This gets me the characters: while (!fin.eof()){ while (fin>> f ){ F.push_back ( f ); } ...

Recursion problem overloading an operator

I have this: typedef string domanin_name; And then, I try to overload the operator< in this way: bool operator<(const domain_name & left, const domain_name & right){ int pos_label_left = left.find_last_of('.'); int pos_label_right = right.find_last_of('.'); string label_left = left.substr(pos_label_left); string l...

How to implement fluent interface with a base class, in C++

How can I implement this fluent interface in C++: class Base { public: Base& add(int x) { return *this; } } class Derived : public Base { public: Derived& minus(int x) { return *this; } } Derived d; d.add(1).minus(2).add(3).minus(4); Current code doesn't work since Base class doesn't know anything about Derived class...

cleaning up noise in an edge detection algorithm

I recently wrote an extremely basic edge detection algorithm that works on an array of chars. The program was meant to detect the edges of blobs of a single particular value on the array and worked by simply looking left, right, up and down on the array element and checking if one of those values is not the same as the value it was curre...

Detect if class has overloaded function fails on Comeau compiler

Hi Everyone, I'm trying to use SFINAE to detect if a class has an overloaded member function that takes a certain type. The code I have seems to work correctly in Visual Studio and GCC, but does not compile using the Comeau online compiler. Here is the code I'm using: #include <stdio.h> //Comeau doesnt' have boost, so define our own...

Using member functions of members in the constructor initializer

I've run into the following a few times with initializer lists and I've never been able to explain it well. Can anyone explain why exactly the following fails (I don't have a compiler to catch typos, so bear with me): class Foo { public: Foo( int i ) : m_i( i ) {} //works with no problem int getInt() {return m_i;} ~Foo() {} ...