c++

Is it ok to mutate objects with std::for_each ?

for_each accepts InputIterators : //from c++ standard template <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function f); is it ok to change the object in Function f, like this : struct AddOne { void operator()(int & x){x = x + 1;} }; std::vector<int> vec(10); std::for_ea...

Simple server/client boost example not working

Learning boost, and compiled their daytime server client example. Since I cant use port 13 that is in the example I only changed the port numbers in the server and client example. Server runs fine, but the client doesnt connect it seems, and no error is given. Input data for the client is "127.0.0.1". Server: #include <ctime> #include...

Static Lib Multiple Definition Problem

So I'm trying to build a small 3D engine as an exercise on VC++ 8.0. I have a MathLib static lib and a Render static lib that is being linked by my TestBed exe. Right now Render has two classes: Color and DXManager3D. Color includes my Vector.h from MathLib just fine, no problems. The second I try to include Vector.h in DXManager3D it ...

Is there an OS independent way to poll TOTAL and/or USED video memory?

I'm looking for a way to poll for total video memory on board a graphics cars / integrated chipset. I'm aware of WMI assisted polling under Windows, and as far as I understand that information is constructed on every boot by WMI. However, being an optimist, I am looking for a possible OS independent way to poll for total video memory a...

Does extern "C" have any effect in C?

I just got some C code that uses extern "C" to declare external functions like this: extern "C" void func(); Is this valid C? I'm getting an error at this line, but I'm not sure if it's because of this or something else. ...

Linker error when compiling vshadow, part of the Volume Shadow Copy Service SDK

I am getting this linker error when trying to compile the c++ project for the VSS SDK Error 1 error LNK2019: unresolved external symbol "long __stdcall ShouldBlockRevert(wchar_t const *,bool *)" (?ShouldBlockRevert@@YGJPB_WPA_N@Z) referenced in function "public: void __thiscall VssClient::RevertToSnapshot(struct _GUID)" (?RevertToSnap...

Switch statement use

Should i use this form of switch statement: switch(msg) { case WM_LBUTTONDOWN: { char szFileName[MAX_PATH]; HINSTANCE hInstance = GetModuleHandle(NULL); GetModuleFileName(hInstance, (LPWCH)szFileName, MAX_PATH); MessageBox(hwnd, (LPCWSTR)szFileName, L"This program is:", MB_OK | MB_...

Best folder structure for C++ cross-platform library and bindings

I am about to begin work on a cross-platform library to be written in C++. Down the road, I intend to implement bindings for other languages such as Python, Java, etc. The library needs to be available on the major platforms: win32, Linux and Mac OSX. Although the application is really a library, some basic console programs will be bu...

After 17 years is it too late to fix C++ runtime extensibility?

The 1992 to 1993 timeframe was pivotal and fateful for C++. In the '92/'93 time frame I worked on a plugin architecture for Aldus PageMaker, which was coded in C++. PageMaker was built on a C++ OOP framework called VAMP, which assisted its portability between Mac OS and Windows. So we tried to use the features of C++ to build a plugin ...

Is it okay to use for_each to modify elements of a container in c++?

Duplicate: http://stackoverflow.com/questions/717509/is-it-ok-to-mutate-objects-with-stdforeach This is based on an earlier question which I can't seem to find anymore on stack overflow. Basically, is something like this legal? struct doSomething { void operator()(int& i) {++i;} }; int main() { std::vector<int> vec; vec.pu...

Adding external library into Qt Creator project

How can I add external library into a project built by Qt Creator RC1 (version 0.9.2)? For example, the win32 function EnumProcesses() requires Psapi.lib to be added in the project to build. Thanks in advance. ...

c++ - should I use the algorithm or hand-code it in this case?

Ok, someone tell me which would be better. I need to |= the elements of one vector with another. That is, I want to void orTogether(vector<char>& v1, const vector<char>& v2) { typedef vector<char>::iterator iter; for (iter i = v1.begin(), iter j = v2.begin() ; i != v1.end(); ++i, ++j) *i |= *j; } I can't use for_each d...

String Literals

I have few doubts about string literals in c++. char *strPtr ="Hello" ; char strArray[] ="Hello"; Now strPtr and strArray are considered to be string literals. As per my understanding string literals are stored in read only memory so we cannot modify their values. We cannot do strPtr[2] ='a'; and strArray[2]='a'; Both the above s...

Segmentation fault in strcpy

consider the program below char str[5]; strcpy(str,"Hello12345678"); printf("%s",str); When run this program gives segmentation fault. But when strcpy is replaced with following, program runs fine. strcpy(str,"Hello1234567"); So question is it should crash when trying to copy to str any other string of more than 5 char...

Stack corruption in C++

In C++, in which way the stack may get corrupted. One way I guess is to overwriting the stack variables by accessing an array beyond its boundaries. Is there any other way that it can get corrupted? ...

What is smallest offset for which I can safely omit overflow checking when I add it to a pointer?

Hi, Can I expect that any "data" pointer in user space programs lies in a safe distance from the addresses 0 and 0xffffffff..., so that I can safely add a small offset to the pointer without checking for an overflow? What is the largest positive n for which I can safely assume that p + n doesn't overflow when p is a char pointer into a ...

Using Boost MPI for sending files?

Can I use the Boost MPI to send files to other computers? My worry is that it is optimized for very small messages and not larger (I need to send 700 MB or more in one go). The reason is that I will probably use mpi for other parts of the program anyway so I thought it would be a pretty clean solution to not mix and match. Has it been ...

Method to find "cleanest" subset of data i.e. subset with lowest variability

Hi all... I am trying to find a trend in several datasets. The trends involve finding the best fit line, but if i imagine the procedure would not be too different for any other model (just possibly more time consuming). There are 3 conceivable scenarios: All good data where all the data fits a single trend with a low variability All ...

How is the sizeof operator implemented in c++?

Can someone point me the to the implementation of sizeof operator in C++ and also some description about its implementation. sizeof is one of the operator that cannot be overloaded. So it means we cannot change its default behavior? ...

Storing a COM pointer in a struct

My program is crashing every time I try to store a COM pointer into a struct, and then later try to use the original pointer. I don't have debug access to tell exactly what's wrong. pRend->cp = cpRT; ID2D1SolidColorBrush *scBrush; ERF(cpRT->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::CornflowerBlue), &scBrush)); It crashes on Cr...