Guess what I found in MFC's source code?
-
Elegant way using goto is acceptable, just don't use goto in too queer way that nobody understands the code. As in the following program (ref: The Spigot Algorithm[^]), there's no goto used in it, but still hard to read the code, even though just some for loops:
long a=10000,b,c=2800,d,e,f[2801],g;
int main() {
for(;b-c ; ) f[++b]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}Maxwell Chen
-
Ha ha... ;P That is a famous algorithm that computes pi, with merely 150 characters in a small C program. :cool: Maxwell Chen
-
Ha ha... ;P That is a famous algorithm that computes pi, with merely 150 characters in a small C program. :cool: Maxwell Chen
-
toxcct wrote: and so powerful and useful mean beautiful for you ? No, I don't understand the code either! :doh: X| ;P Maxwell Chen
-
From your bio: but in C/C++ (my favorites) since 1998. Hey, I started studying C++ since Nov 1998! :-D Maxwell Chen
-
From your bio: but in C/C++ (my favorites) since 1998. Hey, I started studying C++ since Nov 1998! :-D Maxwell Chen
-
Since we both started C++ programming after the ISO C++ Standard has come out, how do you consider the ISO standard? Five years more passed and I've been working for three companies (this is my 3rd job now), all those of my colleagues (including ex-colleagues) who started programming C/C++ since Windows 3.1 / DOS era, don't care about ISO/IEC 14882 at all. They think VC++ 6 just fine, and even don't know what the C++ Standard is! :( Maxwell Chen
-
Since we both started C++ programming after the ISO C++ Standard has come out, how do you consider the ISO standard? Five years more passed and I've been working for three companies (this is my 3rd job now), all those of my colleagues (including ex-colleagues) who started programming C/C++ since Windows 3.1 / DOS era, don't care about ISO/IEC 14882 at all. They think VC++ 6 just fine, and even don't know what the C++ Standard is! :( Maxwell Chen
well, i think everybody should program as much standard as possible, but in the other side, standard don't resolve everything. For my part, i've certainly an "Update" of myself to do for the last rules ISO C++ has defined to be the new C++ standard, but i'm still quite ok when a see some people talking about C++ as the knew everything... but in fact, they don't know anything at all. Visual studio is not a standard ! people think that, as it is microsoft, it is, or it wille become, but the world don't go round around microsoft. thus, i was astonished seeing how many C++ keyword VC++ didn't take part of its own. it's their policy, i don't care, but i'm not glad of it...
TOXCCT >>> GEII power
-
heinnnnn ??? where have you read that ? can you prove this ? header are not for implementation code. we usually put inside them the declarations, the constants sometimes, the prototypes, but no executable code. i'm waiting for your response with interest !
TOXCCT >>> GEII power
It's just like Nenad told you: For template classes the declaration and implementation need to be visible to the compiler so that it can properly generate the code for the concrete types. So if you put template method implementation inside a cpp file, the compiler will not be able to generate the proper code for each template type declared. Now again, Microsoft's compiler may be more flexible about this rule but it's not the case for more traditional C++ compilers. Regards, Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
-
It's just like Nenad told you: For template classes the declaration and implementation need to be visible to the compiler so that it can properly generate the code for the concrete types. So if you put template method implementation inside a cpp file, the compiler will not be able to generate the proper code for each template type declared. Now again, Microsoft's compiler may be more flexible about this rule but it's not the case for more traditional C++ compilers. Regards, Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
-
but do you write it explicitely ??? i don't think so ! that comes in the assembly code ! in C/C++, we use many powerful loop that we don't have to use gotos in the code, except of poor few exceptions...
TOXCCT >>> GEII power
The point of my post being: you can create bad code with other language constructs as well. (I even forgot the most prominent ones: switch, break, continue) It is harder to implement reuse by spaghetti jumps without goto's, but still fairly simple to write badly structured code. (did you ever use a fall through without a
//fallthrough
comment? gotcha!) Neither C nor C++ are languages that are designed to keep you safe and warm. Once you're out of university, you are on your own, in a cold and barren landscape. But if you've seen the desert, cold and barren can hold a beauty that fills your heart with an eternal passion.
Flirt harder, I'm a Coder
mlog || Agile Programming | doxygen