c++

Do I really need to return Type::size_type?

I often have classes that are mostly just wrappers around some STL container, like this: class Foo { public: typedef std::vector<whatever> Vec; typedef Vec::size_type size_type; const Vec& GetVec() { return vec_; } size_type size() { return vec_.size() } private: Vec vec_; }; I am not so sure about returning size_type. Often...

Tail recursion in C++

Can someone show me a simple tail-recursive function in C++? Why is tail recursion better, if it even is? What other kinds of recursion are there besides tail recursion? ...

Compiler turning a string& into a basic_string<>&

Hello I'm coming back to C++ after long years spent on other technologies and i'm stuck on some weird behavior when calling some methods taking std::string as parameters : An example of call : LocalNodeConfiguration *LocalNodeConfiguration::ReadFromFile(std::string & path) { // ... throw configuration_file_error(string("Configuration ...

gets (variable)

can anyone tell me why gets(abc) works with char[] but not with int? int abc; char name[] = "lolrofl"; printf("Hello %s.\n",name); printf("\n >> "); fflush(stdin); gets (abc); printf("\n die zahl ist %i.\n",abc); system("Pause"); return(0); ...

How are options added to Windows explorer context menus using C or C++?

For instance, when I right-click in an explorer window I see a popup with the following: Open Open with Copy Paste Winrar <-- How can I add a choice like this? ...

What are options for GWT to C++ communication?

I am looking for GWT to C++ communication solution. Currently I am trying to figure out how to run WSDL in GWT, but actually, have absolutely no experience in WSDL, and only little in GWT. So, my question is about feasibility of working with WSDL in GWT (and how?) and other approaches would also be interesting if exist. I am trying to...

Code corresponding to leaks with Visual Leak Detector

I am trying to use Visual Leak Detector in Visual Studio 2008, here is an example of the output I get: Detected memory leaks! Dumping objects -> {204} normal block at 0x036C1568, 1920 bytes long. Data: < > 80 08 AB 03 00 01 AB 03 80 F9 AA 03 00 F2 AA 03 {203} normal block at 0x0372CC68, 40 bytes long. Data: <( ...

Move constructor and assignment operator: why no default for derived classes?

Why there is default move constructor or assignment operator not created for derived classes? To demonstrate what I mean; having this setup code: #include <utility> struct A { A () { } A (A&&) { throw 0; } A& operator= (A&&) { throw 0; } }; struct B : A { }; either of the following lines throws: A x (std::move (A ()); A x;...

How to maintain 2 lists of object

Hi, My c++ program needs to maintain 2 list of objects. list<A*> inuse; list<A*> free; So objects A can even in 'inuse' list or in 'free' list, but not both. http://www.cplusplus.com/reference/stl/list/ I am think of using 'list' as the data structure for my lists. My questions are why i can't randomly access an elmenet in the l...

why does vector.size() read in one line too little?

when running the following code, the amount of lines will read on less then there actually is (if the input file is main itself, or otherwise) why is this and how can i change that fact (besides for just adding 1)? #include <fstream> #include <iostream> #include <string> #include <vector> using namespace std; int main() { // open ...

Win32: Is there a difference between Dr. Watson's full/mini dumps and writing my own?

I have an application that is occasionally crashing in the release build; unfortunately, it looks like it is crashing in a 3rd party DLL. While trying to get a handle on it I've been swimming in a sea of HOW TOs and descriptions of how Windows creates crash dumps. I was thinking about using this suggested mini-dump: http://stackover...

Qt, can't display child widget

I have two widgets defined as follows class mainWindow : public QWidget { Q_OBJECT public: mainWindow(); void readConfig(); private: SWindow *config; QVector <QString> filePath; QVector <QLabel*> alias,procStatus; QVector <int> delay; QGridLayout *mainLayout; QVector<QPushButton*> stopButton,restartBu...

g++ creates several symbols of a const ?

In one of my header (C++) files I changed #define TIMEOUT 10 to the more(?) C++ way: const int TIMEOUT = 10; It seems however, g++(v 4.4.3) now includes this symbol several times in the binary. $ nm -C build/ipd/ipd |head 08050420 T ToUnixTime 08050470 T ParseTime 080504c0 T ParseISOTime 080518e4 r TIMEOUT 080518ec r TIMEOUT 08...

(How) Can I approximate a "dynamic" index (key extractor) for Boost MultiIndex?

I have a MultiIndex container of boost::shared_ptrs to members of class Host. These members contain private arrays bool infections[NUM_SEROTYPES] revealing Hosts' infection statuses with respect to each of 1,...,NUM_SEROTYPES serotypes. I want to be able to determine at any time in the simulation the number of people infected with a give...

OpenCV - DLL missing, but it's not?

I am trying just a basic program with OpenCV with the following code: #include "cv.h" #include "highgui.h" int main() { IplImage* newImg; newImg = cvLoadImage("~/apple.bmp", 1); cvNamedWindow("Window", 1); cvShowImage("Window", newImg); cvWaitKey(0); cvDestroyWindow("Window"); cvReleaseImage(&newImg); re...

Compiler reordering around mutex boundaries?

Suppose I have my own non-inline functions LockMutex and UnlockMutex, which are using some proper mutex - such as boost - inside. How will the compiler know not to reorder other operations with regard to calls to the LockMutex and UnlockMutex? It can not possibly know how will I implement these functions in some other compilation unit. ...

C++: Is windows.h generally an efficient code library?

I heard some people complaining about including the windows header file in a C++ application and using it. They mentioned that it is inefficient. Is this just some urban legend or are there really some real hard facts behind it? In other words, if you believe it is efficient or inefficient please explain how this can be with facts. I a...

Are raw C++ pointers first class objects?

According to Wikipedia: An object is first-class when it: can be stored in variables and data structures can be passed as a parameter to a subroutine can be returned as the result of a subroutine can be constructed at runtime has intrinsic identity (independent of any given name) Somebody had once told me that raw pointers are not f...

C++ game designing & polymorphism question

Hi! I'm trying to implement some sort of 'just-for-me' game engine and the problem's plot goes the following way: Suppose I have some abstract interface for a renderable entity, e.g. IRenderable. And it's declared the following way: interface IRenderable { // (...) // Suppose that Backend is some abstract backend used // for re...

Write-Only Reference in C++?

Is there a way to code a write-only reference to an object? For example, suppose there was a mutex class: template <class T> class mutex { protected: T _data; public: mutex(); void lock(); //locks the mutex void unlock(); //unlocks the mutex T& data(); //returns a reference to the data, or throws an exception if lock is ...