C++

57K

Solutions

24K

Contributors

C++ is an intermediate-level general-purpose programming language, not to be confused with C or C#. It was developed as a set of extensions to the C programming language to improve type-safety and add support for automatic resource management, object-orientation, generic programming, and exception handling, among other features.

Share tech news, updates, or what's on your mind.

Sign up to Post

We are a water treatment company and we had a programmer build an application that would handle truck waste deliveries.  Now the application has been built out to include Kiosk.  I'm not a programmer but I believe the program is either asp or c++ with a sql background. We have had the program without the Kiosk for years with of issues.  Even when we added a couple Kiosk it was ok.  It seemed when we added a third kiosk it was around the time we started to have this problem.  We do have a test system that runs on a completely different server.  the login is AD based and the problem is when the program sits after a while there a popup asking to relogin.  This effects the Kioks, if I just click cancel I can keep working in the app however the kiosk loose connection to the application.  The kicker is if I start the test system I don't get any pop ups.  I apologize if there's any confusion but this is a weird problem and I just trying to get all the problems in.  I can send some of the code for if anyone wants to see it.

Thanks in Advance.
0
Cloud Class® Course: SQL Server Core 2016
LVL 12
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

What is the issue with the above code and how would you fix it?
indentation does not matter in this code, ":=" denotes the substitution, and "=" is the equal comparator.

========
Initial state of an array "a":

[[2, NULL, 2, NULL],
 [2, NULL, 2, NULL],
 [NULL, NULL, NULL, NULL],
 [NULL, NULL, NULL, NULL]]

========
Main function:

FUNCTION foo()
    FOR y := 0 to 3
        FOR x := 0 to 3
            IF a[x+1][y] != NULL
                IF a[x+1][y] = a[x][y]
                    a[x][y] := a[x][y]*2
                    a[x+1][y] := NULL
                END IF
                IF a[x][y] = NULL
                    a[x][y] := a[x+1][y]
                    a[x+1][y] := NULL
                END IF
            END IF
        END FOR
   END FOR
END FUNCTION


What does the foo function do?

How could you make foo more generic? Can we have three possible generalization directions ?
0
I have an issue using an ADOQuery component with C++ builder.
If I execute a simple query "select * from Frames where FrameID = 1934411" the result is no record returned when Frames is a view.
However, if I copy the entire view contents into a table and then run the query against the table then the Record is found ?
The database is a Microsoft SQL Server version 12.0.5207.0

If I run the query on the view or the table using Microsoft SQL Server Management Studio then in both cases the record is returned.

Can this be fixed to use the view ?
0
Hi All

I have a query regarding  memory related issue I am getting in one of my web service.
I have made a service using c# which is calling C++ third party dll. While running the service I am getting below error.

"Memory gates checking failed because the free memory is less than 1%."

After going through in deep, i found that there is some memory leak issue exist in the dll.
do we have any way by which-

1. we can release the used memory by c++ dll in c#?
2. Within service or using IIS, can we put a check by which how much free memory, service is using we will get to know and then and there can do the forceful recycle?

any idea will help.

Thanks
0
Hi I am trying make a deep copy of the structure below which will contain the decoded video frames and copy to a new element in a vector without each previous element being overwritten.
The structure below is being populated as the memory in debug mode is increasing as expected with each pass of the while loop.
struct YUV_Buffer
 {
mfxFrameSurface1  *mSurface;
YUV_Buffer(mfxFrameSurface1 *pBuf = { 0 })
    : mSurface(new mfxFrameSurface1[sizeof(mfxFrameSurface1)])
{
    memcpy(mSurface, pBuf, sizeof(mfxFrameSurface1));
}

YUV_Buffer(const YUV_Buffer& YuvBuf) 
 : YUV_Buffer(YuvBuf.mSurface)  
{}

YUV_Buffer& operator = (YUV_Buffer YuvBuf) {

    std::swap(mSurface, YuvBuf.mSurface);
    return *this;
}

~YUV_Buffer() {
        MSDK_SAFE_DELETE_ARRAY(mSurface);
}
  };

Open in new window

I am calling the structure and copying the elements into the vector with each iteration of the while loop "mfxFrameSurface1 pVPPSurfacesOut[nSurfIdxOut]" contains all the information regarding the decoded video frame I need to copy pVPPSurfacesOut[nSurfIdxOut] to the vector mBuffer.push_back(root) using a deep copy so the data that the pointers in the structure are pointing to are also copied but what is actually happening is the last frame processed is overwriting all previous elements in the vector. Each time the loop passes like this: I have removed the code that is decoding each frame as its no relevant I just need to work out why the elements are getting overwritten in the vector
while(1){
std::vector<YUV_Buffer> mBuffer;
YUV_Buffer root(pVPPSurfacesOut[nSurfIdxOut]);
mBuffer.push_back(root);
}

Open in new window

each iteration of the while loop populates pVPPSurfacesOut[nSurfIdxOut] structures which contain pointers with video information like height width buffersize … and the video data its self in a NV12, YUV420 colour space, I need to access each frame from the vector mBuffer but when I try to access the vector mBuffer[0]… Im getting the last frame copyed to the vector.

Regards Nigel
0
Hello , i've the following routine :
int Asio_Send_Pck(int iSendt,int Lsocket,char * Lbuff,int Len)

{

    LSession* iTempLSession = reinterpret_cast<LSession*>(Lsocket);

    boost::asio::async_write(iTempLSession->socket() ,

                              boost::asio::buffer(Lbuff, Len),

                              boost::bind(&LSession::handle_write, 

                              iTempLSession,

                              boost::asio::placeholders::error,

                              iTempLSession->data,

                              iSendt

                              ));

    return 0;

};

Open in new window


But i always get an Invalid Arguments .

Here's my Lsession class :

class LSession
{
public:
  int readlen;
  int userdata;
  int deadtime;
  enum { max_length = 1024};
  char data_[max_length];
  
   LSession(boost::asio::io_service& io_service)
        : deadtime(0), socket_(io_service)
    {
        readlen = 0;
        userdata = 0;
    }

  ~LSession()
  {
	  socket_.close();
  }

  tcp::socket& socket()
  {
    return socket_;
  }

  void start()
  {	  
    socket_.async_read_some(boost::asio::buffer(data_, max_length),
        boost::bind(&LSession::handle_read, this,
          boost::asio::placeholders::error,
          boost::asio::placeholders::bytes_transferred));
  }

  void handle_read(const boost::system::error_code& error,
      size_t bytes_transferred)
  { 
    if (!error)
    {
	
	  try
	  {
	  if(Callback_readdata!= NULL)
	  

Open in new window

0
Hello, are you able to help me in creating a function which will convert an enum value to an actual image in C++?
0
Hello ;
I want to design a GUI.my application is as bellow :
while compiling my program , a first interface is displayed : it is for user authentication, by validating this step ,another interface is displayed :this interface is devided into two screen  show(Splitter with two column) the second interface is combined : a menu , and a tree view .by clicking in one item , a data and controls are shown in the right of interface.
To do this application , did I need for SDI or MDI
Also how to navigate between the two interfaces (the authentication interface and the second interface), should I use two Documents ?
For the first interface , I just want a simple area which display the logo of company and an edit control for tapping the Password. but since compiling the project ,always a classic dialog box is shown (made by Microsoft ).
Is there any idea which clarify my needs.
Kindly.
0
Hi I am having problems with a vector that I am populating each element from a structure but the elements seem to be getting partially over written Here is what I am drying to do
STRUCTURE
struct YUV_Buffer
{
	void *pCacheBuf;
	int frameID;
	int height;
	int width;
	YUV_Buffer() { pCacheBuf = NULL, frameID = 0, height = 0, width = 0; }
};

Open in new window

[/Constructors
        YUV_Buffer *nBuffer;
	vector<YUV_Buffer> mBuffer;

Open in new window

Implementing the vector array
Here I create a new instance of the structure from within a while loop each iteration of the loop a new video frame is passed to the structure and then added to the vector as a new element
                        YUV_Buffer *nBuffer = new YUV_Buffer();
			nBuffer->frameID = pmfxInSurface->Data.FrameOrder; // frame number
			nBuffer->width = pmfxInSurface->Info.CropW;                 // frame width
			nBuffer->height = pmfxInSurface->Info.CropH;                // frame height
                        nBuffer->pCacheBuf = pSysFrame;                                     // YUV video buffer
                        mBuffer.emplace_back(*nBuffer);                                      // add structure to vector array
                        SAFE_DELETE_ARRAY(nBuffer);                                            // delete structure

Open in new window

I then for testing that the data in the vector element is correct I do the following with OpenCV
each iteration of the while loop cnt is implemented by 1 and mBuffer[cnt].pCacheBuf) contains the video buffer data
                  cv::Mat picYV12 = cv::Mat(pmfxInSurface->Info.CropH + (pmfxInSurface->Info.CropH / 2), pmfxInSurface->Info.CropW, CV_8UC1, mBuffer[cnt].pCacheBuf);
		  cv::Mat picBGR;
		  cv::cvtColor(picYV12, picBGR, CV_YUV2RGBA_NV12);
		  cv::Mat test;
		  cv::cvtColor(picBGR, test, CV_BGRA2RGBA);
		  cv::imshow("MyVideo", test);
		  cv::waitKey(20);

Open in new window

This code works and OpenCV display the video frame in its own window perfectly my problem is I need to load all video frames into the vector array and be able to access each frame individually from the vector but what is happening is that the last element in the vector seems to be over writing all previous elements so I end up with 3000 elements in the vector all containing the last video frame buffer. It seems that its only the buffer array that is getting over written as the frame numbers are correctly assigned to each element.

I then need to call each frame from the vector in any order I wish, I have been trying to do it this way

Open in new window

0
I am trying to open a file dialog box but stumble to in to a problem.
And i al ready #include <commdlg.h>

C:\dev\test_menu/main.cpp:146: undefined reference to `GetOpenFileNameA@4'
collect2.exe: error: ld returned 1 exit status
The terminal process terminated with exit code: 1

#include <windows.h>
#include <stdio.h>
#include <commdlg.h>



void AddMenus(HWND);
void open_file(HWND);
HMENU hMenu;

int ID_Save;
int wp;


const char g_szClassName[] = "myWindowClass";

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, LPARAM wp)
{
    
    
    switch(msg)
    {
        case WM_COMMAND:
        
        switch(wParam)

        {
            case 2:
            MessageBeep(MB_OK);
            break;

            case 3:
            open_file(hwnd);
            break;
            


            case 5:
            SendMessage(hwnd, WM_CLOSE, 0, 0);
            break;


        }


        case WM_ACTIVATE:
            AddMenus(hwnd);
            break;
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    
    
    return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,  LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;
   
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = 

Open in new window

0
Cloud Class® Course: Ruby Fundamentals
LVL 12
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

I have a problem whit the LRESULT CALLBACK WndProc,
When i add LPARAM wp the wc give's me a error message, for get the callback functionality when selecting a drop menu item.



main.cpp: In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':
main.cpp:56:24: error: invalid conversion from 'LRESULT (__attribute__((__stdcall__)) *)(HWND, UINT, WPARAM, LPARAM, LPARAM) {aka long int (__attribute__((__stdcall__)) *)(HWND__*, unsigned int, unsigned int, long int, long int)}' to 'WNDPROC {aka long int (__attribute__((__stdcall__)) *)(HWND__*, unsigned int, unsigned int, long int)}' [-fpermissive]
     wc.lpfnWndProc   = WndProc;


#include <windows.h>

void AddMenus(HWND);
HMENU hMenu;

int ID_Save;
int wp;

const char g_szClassName[] = "myWindowClass";

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, LPARAM wp)
{
    
    
    switch(msg)
    {
        case WM_COMMAND:
        
        switch(wp)

        {
            case 1:
            MessageBeep(MB_OK);
            break;

        }


        case WM_ACTIVATE:
            AddMenus(hwnd);
            break;
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,  LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    

Open in new window

0
We would like to find a way to automatically convert an excel workbook into c++ code.
The following tool apparently does that (calc4web) however it generates a compiled .dll intead of C++ code.
We want to be able to reuse and enhance the c++ code.
Anyone used this before? Are there any other out of the box solution out there ?
If not, is there a way or a tool  to map the entire workbook so that we can follow it like a blue print and then convert it to c++
Any ideas or solutions would be very helpful
0
#include <iostream>
class A {
public:
    int ii = 20;
    A(int i = 200) {
        std::cout << "A() \n";
        ii = i;
    }
    A(const A& obj) {
        std::cout << "Copy Constructor\n";
    }
    A(A&& obj) noexcept {
        std::cout << "A(A&&)\n";
    }
};

void fun(A i) {
    std::cout << "Fun \n" << i.ii << std::endl;
}

int main(int argc, const char * argv[]) {
    fun(A(12)); // Why this is not calling move constructor.
    return 0;
}

Open in new window

0
I have an application which implements a state machine based on StateForge (StateBuilderCpp) generator. A state machine is defined as asynchronous and uses boost in the generated code:

<settings asynchronous="true" library="boost">

Open in new window


Actions (implemented methods) are very fast but are called frequently - events are triggered with 10ms intervals. State machine uses boost ioservice.

I run the application on a single core atom processor. Generally that pc is strongly utilized by others applications and I have noticed that sometimes when a cpu has a high iowait a dozen or so events are queued. Is it coincidence ? How to explains such behaviour ?
0
C++ add menu,
it seems ther is no problem but when the window is created the menu don't show on the screen.
do i need to add a redraw option ?

When i go the a other active window the menu is created. strains.

#include <windows.h>

void AddMenus(HWND);
HMENU hMenu;

int ID_Save;


const char g_szClassName[] = "myWindowClass";

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        
        case WM_CREATE:
            AddMenus(hwnd);
            break;
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    
    
    return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,  LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;
   
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    
    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", 

Open in new window

0
I create my tree using the code a bellow :
//Create my own Tree(Items + Sub Items)
BOOL CIntAccDlg::OnInitDialog()
{
      CDialogEx::OnInitDialog();
      HTREEITEM hMétrologie, hSurveillance, hHisOuverture, hHisDépassementTempérature, hHisMiseTerre, hLogResetsHis , hMetrologieLegale,hRelais, hCourbeDeCharge, hGlissProgrammé ,hHorodate, hFacturation, hStructureActive, hGlissPeriodique,hStructurePassivective, hJoursFériés, hCalendrierTarifaire, hInstantanée, hMetrologieNonLegale, hEnergie, hMoyenne,hMaximas,hContrat,hExursionTension
      , hCoupures,hCommunication, hCléAESGCM, hCléCrypAUTHGCM, hParPhyPortLocal, hHDLCPortLocal, hParPhyPortSerie, hParHDLCPortSerie, hImporter, hExporter, hImprimer;
      
      //Métrologie
      hMétrologie = m_treeCtrl.InsertItem(_T("Métrologie"), TVI_ROOT);
      hMetrologieLegale = m_treeCtrl.InsertItem(_T("Métrologie Légale"), hMétrologie);
      hMetrologieNonLegale = m_treeCtrl.InsertItem(_T("Métrologie Non Légale"), hMétrologie);
      //Métrologie légale
      hInstantanée = m_treeCtrl.InsertItem(_T("Instantanées "), hMetrologieLegale);
      hEnergie = m_treeCtrl.InsertItem(_T("Energies "), hMetrologieLegale);
      //Métrologie Non légale
      hMoyenne = m_treeCtrl.InsertItem(_T("Moyennes "), hMetrologieNonLegale);
      hMaximas = m_treeCtrl.InsertItem(_T("Maximas "), hMetrologieNonLegale);
      hContrat = m_treeCtrl.InsertItem(_T("Contrat "), hMetrologieNonLegale);
      hExursionTension = m_treeCtrl.InsertItem(_T("Excursion de tension "), hMetrologieNonLegale);
      //Relais
      hRelais= …
0
run in to a trobbel need a littel help to get the window working.

main.cpp: In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':
main.cpp:41:20: error: 'g_szClassName' was not declared in this scope
 wc.lpszClassName = g_szClassName;
                    ^~~~~~~~~~~~~
main.cpp:54:1: error: expected ';' before 'if'
 if(hwnd == NULL)
 ^~
The terminal process terminated with exit code: 1


#include <windows.h>

const char g_sgClassName[] = "myWindowClass";

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{

    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
        PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
        
    }
    return(0);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{

WNDCLASSEX wc;
HWND hwnd;
MSG Msg;

//Step 1: Registering the Window Class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);


if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);

Open in new window

0
In a CTreeCtrl, does GetChildItem() returns not null, if there is no child?  Is ItemHasChildren() is required? My below code hangs.

HTREEITEM FindTreeItem(HTREEITEM hItem, LPDISPATCH disp)
{
         if (disp == (LPDISPATCH)m_TreeCtrl.GetItemData(hItem))
            return hItem;

      HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hItem);
      while (hChildItem)
      {
            if (disp == (LPDISPATCH)m_TreeCtrl.GetItemData(hChildItem))
                  return hChildItem;

            HTREEITEM hItemFound = FindTreeItem(hChildItem, disp);
            if (hItemFound)
                  return hItemFound;

            hChildItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
      }

       return NULL;
}
0
Hello ,
I create a menu "config" .I want to open another dialog box when I click in the menu "Config".
I make a function added to Menu ID : W_Command
Then I call it in the principal dialog box :InAccDlg ,as it shown in the code as bellow , while compiling ,the called dialogBox wasn't shown .
My code is as bellow :

void CIntAccDlg::OnIdrMenu1()
{
      CConfigDlg ConfigDlg;
      ConfigDlg.DoModal();
      ShowWindow(SW_SHOW);
}
Is there any problem !
0
Cloud Class® Course: Certified Penetration Testing
LVL 12
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Hello, I'm wondering if anyone has any examples of how to create a C++ Program (the code) to convert:

Feet > Meters
Meters > Feet

Thanks.
0
Since VS 2013 in seems we can use VersionHelpers.h to allow us to ask which version of Windows we are running on.  I looks simple up thru Windows 7 -- but reading the documentation, once we get to Windows 8 or Windows 10, the doc starts talking about the need for a Manifest and mentions GUID.   Can somebody help me understand what is required to get this to work?   My goal: from a C++ program be able to detect if we are running on Windows 10 (or later).   Thanks.
0
Hi,
I've read the following post https://www.experts-exchange.com/questions/28910764/Implementing-a-ResolveEventHandler-in-C.html
and I'm experiencing the exact problem, but couldn't solve it.
I'm using pure c++ (no C++/CLI)

Any help would be appreciated
0
Hello , I want to display two edit controls by clicking on button .
in te first one , the two edit control are hiding . just by clicking a button , those two edit controls will be shown .
Any help please !
0
Here is a question of C++ that I was practising on some other site. The code is given below. My code fails for multiple inputs. the output is only
clee olg  
 instead of
 clee olg
sho col
Given a string, S, of length N that is indexed from 0 to N-1, print its even-indexed and odd-indexed characters as space-separated strings on a single line.
INPUT-
The first line contains an integer, t (the number of test cases).
Each line  'i' of the subsequent lines contain a String,S
OUTPUT-
For each String S(where 0<= j<=N-1), print S's even-indexed characters, followed by a space, followed by S's odd-indexed characters.
.
Eg-
2
college
school
output-

clee olg
sho col
    
 int main() {
    int t;
    cin>>t;
    
    string str;
    vector<string>s_even;
    vector<string>s_odd;
    for(int i=0;i<t;i++)
    {
        getline(cin,str);
      
    for(int j=0;j<str.size();j++)
    {
        //s.push_back(str);
        if(j%2==0)
        { string  a;
         a=str[j];
            s_even.push_back(a);
            
        }
        else
        { string b;
         b= str[j];
            s_odd.push_back(b);
        }
    }
        
        
       copy(s_even.begin(),s_even.end(),ostream_iterator<string>(cout));
       
        cout<<" ";
       
        copy(s_odd.begin(),s_odd.end(),ostream_iterator<string>(cout));
        str.clear();
        s_odd.clear();
        s_even.clear();
        //cout<<endl;
    }
    return 0;
}       

Open in new window

0
I want to make sms app (short message) for android using c++ builder, so help me please
0

C++

57K

Solutions

24K

Contributors

C++ is an intermediate-level general-purpose programming language, not to be confused with C or C#. It was developed as a set of extensions to the C programming language to improve type-safety and add support for automatic resource management, object-orientation, generic programming, and exception handling, among other features.