|
Yes, you should have #include in your cpp as well. Other uses are the various #pragma s, #define , and is a part of preprocessor operators[^]
Header files are simply to separate definition from implementation generally speaking. They aren't anything special as far as the language itself is concerned.
EDIT: And preprocessor directives[^] in general, just to clarify.
modified 22-Dec-16 12:12pm.
|
|
|
|
|
|
void CreateFolderPath(string Path)
{
char *strFolderPath = new char[Path.size() + 1];
strcpy_s(strFolderPath, Path.size() + 1, Path.c_str());
_mkdir(strFolderPath);
}
string ConvertIntToString(int cipher, int objintiger)
{
string temp;
char *Res = new char[cipher];
sprintf_s(Res, cipher, "%02d", objintiger);
temp = Res;
return temp;
}
//
Is there room for memory problems?
|
|
|
|
|
There are problems (memory leaks). You must delete memory allocated with new when not used anymore:
void CreateFolderPath(string Path)
{
char *strFolderPath = new char[Path.size() + 1];
strcpy_s(strFolderPath, Path.size() + 1, Path.c_str());
_mkdir(strFolderPath);
delete [] strFolderPath;
}
string ConvertIntToString(int cipher, int objintiger)
{
string temp;
char *Res = new char[cipher];
sprintf_s(Res, cipher, "%02d", objintiger);
temp = Res;
delete [] Res;
return temp;
}
For your first example there is even no need to copy the string. Just pass it to _mkdir() :
void CreateFolderPath(string Path)
{
_mkdir(Path.c_str());
}
|
|
|
|
|
Thank you very much!!!!
|
|
|
|
|
hi friends:
why c++ is still being used?!
|
|
|
|
|
Why shouldn't it be used anymore?
Your question is like asking why there are people still driving a Ford.
|
|
|
|
|
|
..because you can't program an OS in VB.NET.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: can't program an OS in VB.NET. You can't do that in C++ either, if you can then you can do so in JavaScript too.
Or even Python.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Afzaal Ahmad Zeeshan wrote: You can't do that in C++ either, if you can then you can do so in JavaScript too. Well, it is also not completely true.
Most parts of the modern OSes is made in C and C++. You don't write drivers in JavaScript, because most devices work faster than your average garbage collector. It at least needs a language that can compile to native, without dependencies.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Quote: Well, it is also not completely true. Because it was not meant to be. It was merely a rant, or joke.
Quote: Most parts of the modern OSes is made in C and C++ Most part comes from C, that contains Assembly in __asm or similar. C++ is just used to create most APIs, because you can provide a simple abstraction there. You can provide underlying implementation of the system and services, then you leave it in the hands of programmers.
Of course drivers need to be fast, but what a driver is merely a program in the forest of services running. Tree (program) can be a class, a forest is abstraction, and... You cannot do that easily in C — that is why we have demons in Linux and you can write in in any definition, there is nothing to implement, nothing to inherit and nothing to worry about.
Move a bit ahead, enter the realm of C++, Qt for instance, you need to write classes as inherited ones and then you can compile that across. Qt is used for driver development.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Afzaal Ahmad Zeeshan wrote: It was merely a rant, or joke. I already argue way too much here, so I'm not going to react
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Have an upvote for a smile then.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Wrong. C++ compiles down to machine code, so you can.
|
|
|
|
|
Like I said in that message, in this case, so does JavaScript, Python or any other language.
I wonder if there is a library for translation of shell script to a machine code — highly doubted statement.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
No, you said: "You can't do that in C++ either, if you can then you can do so in JavaScript too"
C++ does compile down to machine code, script languages dont, they are interpreted.
|
|
|
|
|
|
Richard Deeming wrote: Are you sure about that? Already corrected it, remembering Cosmos.
I also remember it not being a commercial success
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
But the interpreter the VB Net code will be running on will be written in C or C++ because to run on actual hardware you have to run the instruction set that hardware exposes. You can only do that in a compiled language.
|
|
|
|
|
babak1110 wrote: why c++ is still being used?! Because not everyone is programming desktop GUI apps, and not everyone hates OOP.
C++ provides an object-oriented programming model for C environments. C is Assembly language with a better syntax. So, it means you can do more of hardware programming easily, registers are available etc. C++ was created by Bjarne to include "classes", because he had experience in Simula, which was object-oriented.
C was not, so C++ was created to support that, C++ was called, "C with Classes". If you need hardware control and are only an OOP geek, then you use C++, otherwise you use C.
Despite my answer, this question is childish and immature. If you need to know if a language is needed to be learnt of if you should use it, know its history! That will answer all of your questions. Just a friendly reminder, when I started to learn how to program in 2011, I heard C++ was fading away, Java is future, I also heard Windows Forms will die soon, and WPF is future. None of that happens and these news are caused by some idiots in computer science who have no idea what they are saying.
Quote: The creator of C++, Bjarne Stroustrup, has acknowledged that Simula 67 was the greatest influence on him to develop C++, to bring the kind of productivity enhancements offered by Simula to the raw computational speed offered by lower level languages like BCPL.
Simula - Wikipedia[^]
C++ - Wikipedia[^]
For more, Why I Created C++ | Big Think[^].
Sorry, if you find me rude.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Because C is the corner stone language in computing. It is the language of OSs, space ships, embedded, etc. C++ extends that power scales it, and is a true engineers language.
C# (Java) and other interpreted languages have their uses, principally where you want to limit the power of the language for security reasons, or to work at highly extrapolated levels a long way from the hardware.
|
|
|
|
|
As noted by others for drivers and embedded systems. It is a mature language that works well with hardware with less interpretation.
One reason many people left C++ was they hate pointers, but as those other languages mature, they too employ pointers, so in the end we are now seeing a revival of C++.
p.s.
Some people love pointers.
|
|
|
|
|
Does anyone have experience using Electric Cloud build accelerator with C++/CLI code?
I'm primarily interested to know if C++/CLI projects are supported. The Electric Cloud support/helpcenter returns no results for my related searches.
John
|
|
|
|
|
Almost every build automation tool supports the toolchains, or they provide tools to setup your own build tasks and set up your own binaries.
Do they allow that? I don't have an account, so I cannot test that.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|