c++

Convert string to GUID with sscanf

I'm trying to convert a string to GUID with sscanf: GUID guid; sscanf( "11111111-2222-3333-4455-667788995511", "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", &guid.Data1, &guid.Data2, &guid.Data3, &guid.Data4[0], &guid.Data4[1], &guid.Data4[2], &guid.Data4[3], &guid.Data4[4], &guid.Data4[5], &guid.Da...

What is so great about STL?

Hello StackOverflow. I am a Java developer trying to learn C++. I have many times read over the web (including StackOverflow) that STL is the best collections library that you can get in *any* language. (Sorry, I do not have any citations atm) However after studying some STL, I am really failing to see what makes STL so special. Would...

C++ casted realloc causing memory leak

I'm using a function I found here to save a webpage to memory with cURL: struct WebpageData { char *pageData; size_t size; }; size_t storePage(void *input, size_t size, size_t nmemb, void *output) { size_t realsize = size * nmemb; struct WebpageData *page = (struct WebpageData *)output; page->pageData = (char *)re...

Pointers to threads

Suppose i have pointer to a thread like this CWinThread *m_pThread = AfxBeginThread(StartThread, this, THREAD_PRIORITY_NORMAL, 0, 0); Now in my StartThread function assume i did all operations and the function returned like this UINT CClassThread::StartThread(LPVOID pVoid) { return true; } Will my m_pThread be invalid when the...

what if i keep my class members are public?

In c++ instance variables are private by default,in Python variables are public by default i have two questions regarding the same:- 1: why Python have all the members are public by default? 2: People say you should your member data should be private what if i make my data to be public? what are the disadvantages of this appro...

Setting up separate ctags db's for C/C++ standard libs, boost, and third party libs

I want to set up separate ctags databases for various libraries in /usr/include/ for use with OmniCppComplete. The idea is to be able to pull in only the libraries needed for a particular project in the target language - C or C++. For example, I'd like to have one database for the standard C libraries, one for system libraries that m...

Read/Write file metadata using C/C++

Hi, Searched through net, could't find a way to read/write file metadata using C or C++, however, there are tools available for this, and also there are API's in C# and Java to do this. But I want to do it from scratch in C or C++. For example, read/write image metadata. Have found out that there are three formats in which metadata is...

how to use replace_regex_copy() from boost::algorithm library?

This is my code: #include <string> #include <boost/algorithm/string/regex.hpp> string f(const string& s) { using namespace boost::algorithm; return replace_regex_copy(s, "\\w", "?"); } This is what compiler says: no matching function for call to ‘replace_regex_copy(const std::basic_string<char, std::char_traits<char>, std...

Can Qt's QWebView display programatically generated XML?

Using Qt 4.6, I can dynamically add to an HTML page like this: ui->webView->page()->mainFrame()->documentElement().findFirst("body").appendInside("<i>some text</i>\n"); However, if I QWebView::load() an XML file, it displays it with the correct CSS styling (from an processing instruction), but doesn't show any changes when I do somet...

Explain Python extensions multithreading

Python interpreter has a Global Interpreter Lock, and it is my understanding that extensions must acquire it in a multi-threaded environment. But Boost.Python HOWTO page says the extension function must release the GIL and reacquire it on exit. I want to resist temptation to guess here, so I would like to know what should be GIL locking...

WTSQuerySessionInformation returning empty strings

I've written a program which should query the Terminal Services API and print out some state information about the sessions running on a terminal services box. I'm using the WTSQuerySessionInformation function to do this and it's returning some data but most of the data seems to be missing... Does anyone know why? Here's my program: v...

git patch ignoring white space diffs c++

The only thing I care about is C++ file. (Don't worry about binary files, text, etc ... you can assume taht everything is C++ code_). I have these branches: * dev master Now, I can to create a new branch "magic", where branch magic is equiv to "dev" (in terms of C++ code generated), but minimizes useless whiteline diffs (like inser...

Comparing objects and inheritance

Hi, In my program I have the following class hierarchy: class Base // Base is an abstract class { }; class A : public Base { }; class B : public Base { }; I would like to do the following: foo(const Base& one, const Base& two) { if (one == two) { // Do something } else { // Do something else } } I have issues ...

Generating a reasonable ctags database for Boost

I'm running Ubuntu 8.04 and I ran the command: $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/stdlibcpp /usr/include/c++/4.2.4/ to generate a ctags database for the standard C++ library and STL ( libstdc++ ) on my system for use with the OmniCppComplete vim script. This gave me a very reasonable 4MB tags file which...

Heap Error in C++

Dear all, I'm a beginner programmer in C++. Recently, I'm working on image processing thing using C++. but I have some problem that I want to ask. Suppose I have some code as follow: for (int i=0;i<100000;i++) { int * a = new int[10000]; //do something delete [] a; } When I executed that code, I receive runtime error, Heap Err...

Some basic COM question...

I have just finished my first COM server DLL. And it runs smoothly. So I'd like to show my understanding for now and hear your critics. 1- How COM simply works? COM - "The Call Chain" COM Lib methods -> Traditional DLL exports -> Classes encapsulated in the COM DLL 2- With C++, the benefits like "interface" in OOP can only be taken ad...

Does tbb:concurrent_queue "grow" like std::vector? How to release its buffers?

Hello, I'm wondering if tbb:concurrent_queue can grow its internal buffers when it's under high load, and then not release the buffers? How to obtain any information about the buffers and/or release them? PS. In vector, you have methods like .reserve() to allocate and .swap(vector()) to completely release any buffers. ...

What's the best replacement for timeGetTime to avoid wrap-around?

timeGetTime seems to be quite good to query for system time. However, its return value is 32-bit only, so it wraps around every 49 days approx. It's not too hard to detect the rollover in calling code, but it adds some complexity, and (worse) requires keeping a state. Is there some replacement for timeGetTime that would not have this w...

Passing a Fortran int array to C++ by calling C++ function in Fortran

I am trying to call a C++ function in a Fortran subroutine. This C++ function is supposed to update an integer array. Here is a non-working code I wrote. What is the issue? ! Fortran function that calls a C++ function. subroutine my_function() integer(4) ar(*) integer(4) get_filled_ar ! Need correct syntax here. ...

Fast dot product for a very special case

Given a vector X of size L, where every scalar element of X is from a binary set {0,1}, it is to find a dot product z=dot(X,Y) if vector Y of size L consists of the integer-valued elements. I suggest, there must exist a very fast way to do it. Let's say we have L=4; X[L]={1, 0, 0, 1}; Y[L]={-4, 2, 1, 0} and we have to find z=X[0]*Y[0] +...