c++

Does opencv have a function similar to size and bwperim in matlab?

I am new to opencv and good at matlab i want to write equalent of below to opencv [mm,nn]=size(binaryimage); bwperim(binaryimage); Please can any one help ...

Overload dereference operator

I'm trying to overload the dereference operator, but compiling the following code results in the error 'initializing' : cannot convert from 'X' to 'int': struct X { void f() {} int operator*() const { return 5; } }; int main() { X* x = new X; int t = *x; delete x; return -898; } What am I doing wrong? ...

combinations algorithm

I want to make simple sorting algorithm. given the input "abcde", I would like the output below. could you tell me the algorithm for that? arr[0] = "a" arr[1] = "ab" arr[2] = "ac" arr[3] = "ad" arr[4] = "ae" arr[5] = "abc" arr[6] = "abd" arr[7] = "abe" ... arr[n] = "abcde" arr[n+1] = "b" arr[n+2] = "bc" arr[n+3] = "bd" arr[n+4] = "be"...

c++ macros with memory?

Is it possible to define macros write_foo(A); and read_foo(); so that: WRITE_FOO(hello); code_block_1; READ_FOO(); code_block_2; READ_FOO(); WRITE_FOO(world); code_block_3; READ_FOO(); code_block_4; READ_FOO(); expands into: code_block_1; hello; code_block_2; hello; code_boock_3; world; code_block_4; world; ? Thanks!...

C++ string how to

This is a very simple question and I feel stupid for asking it, but I am pressed for time and I need to figure it out :) I just need to know how to make a string that contains text and other variables. For instance in Java I can just do this: String someString; for(int i = 0; i>10; i++){ someString = ("this text has printed " + i + ...

C++ conditional compilation

I have the following code snippet #ifdef DO_LOG #define log(p) record(p) #else #define log(p) #endif void record(char *data){ ..... ..... } Now if I call log("hello world") in my code and DO_LOG isn't defined, will the line be compiled, in other words will it eat up the memory for the string "hello world"? P.S...

Converting unmanaged C++ code from 32 bit to 64 bit

Hi, I have an unmanaged C++ 32 bit application that produces a dll. Now, I want to build it for 64 bit system. My development system is 32 bit. It uses oledb.lib activeds.lib adsiid.lib ws2_32.lib libraries to build the dll. What I have done so far is : Changed the configuration settings and set the Active solution platform to x64. It b...

C++: Life span of temporary arguments?

When creating a new instance of a MyClass as an argument to a function like so: class MyClass { MyClass(int a); }; myFunction(MyClass(42)); does the standard make any grantees on the timing of the destructor? Specifically, can I assume that the it is going to be called before the next statement after the call to myFunction() ? ...

C++ error: expected initializer before ‘&’ token

Hi, the following piece of C++ code compiled two years ago in a suse 10.1 Linux machine. #ifndef DATA_H #define DATA_H #include <iostream> #include <iomanip> inline double sqr(double x) { return x*x; } enum Direction { X,Y,Z }; inline Direction next(const Direction d) { switch(d) { case X: return Y; case Y: return Z; cas...

Simplest way to mix sequences of types with iostreams?

I have a function void write<typename T>(const T&) which is implemented in terms of writing the T object to an ostream, and a matching function T read<typename T>() that reads a T from an istream. I am basically using iostreams as a plain text serialisation format, which obviously works fine for most built-in types, although I'm not sure...

return by reference - which of the two is the correct one

i have the function: const A& f(...) {...} a. const A a1 = f(..); b. const A &a2 = f(...); which of the is the better one to use? in both cases, if i understand correctly, i prevent the possibility of modifying the returned object. in the first option, the copy constructor of A will be called - am i correct? ...

C++ Arrays manipulations (python-like operations)

Hi Guys, I'm trying to figure out the best C++ library/package for array manipulations in a manner of python. Basically I need a simplicity like this: values = numpy.array(inp.data) idx1 = numpy.where(values > -2.14) idx2 = numpy.where(values < 2.0) res1 = (values[idx1] - diff1)/1000 res2 = (values[idx2] - diff2)*1000 In pyth...

Porting C++-code from Windows to Unix: systemcalls colliding with name of functions

Hi I'm porting some crufty C++ Windows-code to Linux, which uses functions called "open" and "close" inside every class... Very bad style, or? Luckily that wasn't a problem in windows, since their systemcalls are named different. When I try to call the systemcalls open() or close() I'm getting some compiler error about "no matching fun...

Is it "legal" for C++ runtime to call terminate() when the C++ code is used inside some non-C++ program?

In certain cases - especially when an exception escapes a destructor during stack unwinding - C++ runtime calls terminate() which must do something reasonable post-mortem and then exit the program. When a question "why so harsh" arises the answer is usually "there's nothing more reasonable to do in such error situations". That sounds re...

Hiding an entry from a QMenuBar in Qt4?

I can find no non-deprecated way of hiding an item in a menu bar in Qt4. This post: http://qt.nokia.com/developer/faqs/585 gives a method that uses deprecated Qt3 compatibility functions. Is there a better way? ...

I need to randomize a number between two hex numbers, represented as strings.

...and return the number as string. How can I do that? Is there any library for that? ...

Recovering graceflly from a failed vsnprintf on msvc2008

I'm looking for a way to use some variant of vsnprintf() with a buffer that can possibly be longer than the input buffer without triggering an error to the user. So far I've found that vsnprintf() and its variants silently truncate the string when the buffer is too small but they don't return the actual length of the string so I can't t...

C++ help and questions

I need help making an c++ program with a function that uses int Disc(int A, int B, int C) and calculates returns B*B-4*A*C and use the function Disc in the program..... i have this so far. void main(){ cout << Disc(a,b,c); } ...

C++ copy constructor and shallow copy

Hi, suppose I have a class with many explicit (statically allocated) members and few pointers that are allocated dynamically. When I declare a copy constructor in witch I make a deep copy of manually allocated members, I wouldn't like to copy each statically allocated member explicite. How can I use implicit (default) copy constructor ...

Fast sign in C++ float...are there any platform dependencies in this code?

Searching online, I have found the following routine for calculating the sign of a float in IEEE format. This could easily be extended to a double, too. // returns 1.0f for positive floats, -1.0f for negative floats, 0.0f for zero inline float fast_sign(float f) { if (((int&)f & 0x7FFFFFFF)==0) return 0.f; // test exponent & mantis...