FW: provlima me tin c++

Pantelis Koukousoulas pktoss at gmail.com
Mon Jul 20 21:05:50 EEST 2009


2009/7/20 Christos Ricudis <ricudis at itc.auth.gr>:
> tony gourd wrote:
>>
>> paidia einai ekdoseis kleidari8mos kai o titlos einai gnorizontas tin c++
>> exete na mu protinete kanena kalitero tropo na tin ma8o??
>
> Eisai sigouros oti 8eleis na ma8eis mia glwssa sthn opoia ayto edw
>
> #include <stdio.h>
>
> int main(void) {        printf("Hello, world\n");
>        return(0);
> }
>
> grafetai etsi ?

[..]

Χεχε, αυτό είναι λίγο άδικο. Μπορείς μια χαρά να έχεις IDL και τα σχετικά
και με C (ορισμένα μεγάλα Gt/Gnome προγράμματα π.χ.,) . Αν έγραφες
κάτι τέτοιο όμως:

#include <iostream>

template< int n >
struct factorial { enum { ret = factorial< n -1 >::ret * n }; };

template<>
struct factorial< 0 > { enum { ret = 1 }; };

int main() {
    std::cout << "6! = " << factorial< 6 >::ret << endl;
    return 0;
}

ή ακόμα χειρότερα κάτι που να εμπεριέχει κώδικα από τη βιβλιοθήκη boost
(να αναμιγνύει templates με macros για 100% ακαταλαβίστικα)
θα έλεγα ότι έχεις ένα δίκιο :)

Βέβαια και στη C βλέπεις κώδικα τύπου:

 /*
 * "Define 'is'", Bill Clinton
 * "Define 'if'", Steven Rostedt
 */
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
#define __trace_if(cond) \
 if (__builtin_constant_p((cond)) ? !!(cond) : \
 ({ \
 int ______r; \
 static struct ftrace_branch_data \
 __attribute__((__aligned__(4))) \
 __attribute__((section("_ftrace_branch"))) \
 ______f = { \
 .func = __func__, \
 .file = __FILE__, \
 .line = __LINE__, \
 }; \
 ______r = !!(cond); \
 ______f.miss_hit[______r]++; \
 ______r; \
 }))


Φιλικά,
Παντελής

Υ.Γ., @Tony Το βιβλίο του Stroustrup θα παραξενευόμουν αν δεν
μπορούσες να το βρεις π.χ., στον Παπασωτηρίου.


More information about the Linux-greek-users mailing list