c++

Why friend function is preferred to member function for operator<<

When you are going to print an object, a friend operator<< is used. Can we use member function for operator<< ? class A { public: void operator<<(ostream& i) { i<<"Member function";} friend ostream& operator<<(ostream& i, A& a) { i<<"operator<<"; return i;} }; int main () { A a; A b; A c; cout<<a<<b<<c<<endl; a<<cout...

OO Design - polymorphism - how to design for handing streams of different file types

I've little experience with advanced OO practices, and I want to design this properly as an exercise. I'm thinking of implementing the following, and I'm asking if I'm going about this the right way. I have a class PImage that holds the raw data and some information I need for an image file. Its header is currently something like this: ...

Boost link error when using "--layout=system" on VS2005

I'm new to boost, and thought I'd try it out with some realistic deployment scenarios for the .dlls, so I used the following command to compile/install the libraries: .\bjam install --layout=system variant=debug runtime-link=shared link=shared --with-date_time --with-thread --with-regex --with-filesystem --includedir=<my include directo...

Objective C(++) Insanity -- simple assignement to a single float variable results in {{{CRAZY}}} values in another variable

memberA is defined in the header of ClassA. memberB is defined in the header of ClassB. ClassB is a subclass of ClassA Inside an instance of ClassB, setting memberA via simple assignment: memberA = 0.05 ...also changes memberB, but to a crazy number -- 1028443341. Additionally, assigning 0.05 to memberA results in memberA showing u...

C++: Is there any good way to read/write without specifically stating character type in function names? (cout vs wcout, etc)

I'm having a problem getting a program to read from a file based on a template, for example: bool parse(basic_ifstream<T> &file) { T ch; locale loc = file.getloc(); basic_string<T> buf; file.unsetf(ios_base::skipws); if (file.is_open()) { while (file >> ch) { if(isalnum(ch, loc)) ...

Passing unknown classes to String Streams in C++

I am using a template function and I am passing and I may be sending instances of a variety of classes to a string stream. What can I do to make sure this continues to work? Let me be more specific where do I define the behavior for this? Is there some member that should be on each class being sent to the string stream, should I in some...

Compile redeclaration error of global variable in C++, but not in C.

Suppose that I have those three files: a.h //a.h header #include <stdio.h> int int_variable; void a_f() { printf("int_variable: %d\n", int_variable) int_variable++; } b.h //b.h header #include <stdio.h> int int_variable; void b_f() { printf("int_variable: %d\n", int_variable) int_variable++; } main.c //main.c #inclu...

"Undefined Symbols" when inheriting from stdexcept classes

Here is an exception defined in <stdexcept>: class length_error : public logic_error { public: explicit length_error(const string& __arg); }; Here is my exception: #include <string> #include <stdexcept> using namespace std; class rpn_expression_error : public logic_error { public: explicit rpn_expression_error(const string...

Array length with pointers

How in C++ get array length with pointers only ? I know that tab name is pointer to first element, but what next ? ...

How can I print a NUL character without a space in C?

I have a situation where I have to print out a NUL character if there is no action in a part of my program. Take for example the code below: char x = '\0'; ... printf("@%c@\n", x); I want it to print this: @@ but it prints out @ @ Whats the correct way not to have the \0 character printed out a space as above? ...

Pass by reference in Boost::Python

Hi everybody. Consider something like: struct Parameter { int a; Parameter(){a = 0;} void setA(int newA){a = newA;} }; struct MyClass { void changeParameter(Parameter &p){ p.setA(-1);} }; Well, let's fast forward, and imagine I already wrapped those classes, exposing everything to python, and imagine also I instantiate...

A quick design question about C++ container classes in shared memory

I am writing a simple wrapper around boost::interprocess's vector container to implement a ring buffer in shared memory (shm) for IPC. Assume that buf is an instance of RingBuffer created in shm. Now, in its ctor, buf itself allocates a private boost::interprocess::vector data member to store values, e.g. m_data. My question is: I think ...

Why can't we have an immutable version of operator[] for map

The following code works fine : std::map<int, int>& m = std::map<int, int>(); int i = m[0]; But not the following code : // error C2678: binary '[' : no operator... const std::map<int, int>& m = std::map<int, int>(); int i = m[0]; Most of the time, I prefer to make most of my stuff to become immutable, due to reason : http://www.j...

C++: type Length from float

This is kinda like my earlier question: http://stackoverflow.com/questions/2451175/c-vector3-type-wall Except, now, I want to do this to a builtin rather then a user created type. So I want a type "Length" that behaves just like float -- except I'm going to make it's constructor explicit, so I have to explicitly construct Length object...

How can I break if gdb is attached, but continue if it is not?

I have some debugging code that if executed while running with GBD attached should break the execution of the application, but if GDB is not running it should continue. The code I'm working with looks something like this in structure: try { if( some_complex_expression ) { gdb_should_break_here(); do_some_stuff(); thr...

Convert CString array to System::String

Hi, I want to convert CString array to managed code ot send it to C#. For normal CString i did like this, CString menu = "MENU"; String ^ msg = gcnew String(menu); Globals1::gwtoolbar->Add(msg); But now i want to send array of string.i dont know how to do for CString array. When i gave like this it shows error CString menu[10]; Stri...

Which version of Grady Booch's OOA/D book should I buy?

Grady Booch's "Object-Oriented Analysis and Design with Applications" is available brand new in both the 2nd edition (1993) and the 3rd edition (2007), while many used copies of both editions are available. Here are my concerns: 1) The 2nd edition uses C++: given that I just finished reading my first two C++ books (Accelerated C++ and C...

Planning a programming project by example (C# or C++)

I am in the last year of undergraduate degree and i am stumped by the lack of example in c++ and c# large project in my university. All the mini project and assignment are based on text based database, which is so inefficient, and console display and command, which is frustrating. I want to develop a complete prototype of corporate soft...

C++ defines for a 'better' Release mode build in VS

I currently use the following preprocessor defines, and various optimization settings: WIN32_LEAN_AND_MEAN VC_EXTRALEAN NOMINMAX _CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS _SECURE_SCL=0 _HAS_ITERATOR_DEBUGGING=0 My question is what other things do fellow SOers use, add, define, in order to get a Release Mode build from VS C++ ...

get file path from svn diff file with PHP and C

hi i have a file having svn diff i wish to extract the filenames form the diff. How to write the parser for that.. Index: libs/constant.php =================================================================== --- libs/constant.php (revision 1243) +++ libs/constant.php (revision 1244) @@ -26,5 +26,5 @@ // changesss - +// test 2 ?> \...