Зашто на powerpc платформи овај код завршава у бесконачној петљи:
int main() { int bar = 0; char foo; for (foo = 7; foo >= 0; foo--) { bar++; } return bar; }
Одговор:
зато што је на powerpc платформи char не-негативан целобројни тип (unsigned char)
Случајне мисли о програмирању.
int main() { int bar = 0; char foo; for (foo = 7; foo >= 0; foo--) { bar++; } return bar; }
#ifdef #ifndef FOO_BAR #define FOO_BAR #elif FOO_BAR == 0 #endif
#ifdef #ifndef FOO_BAR #define FOO_BAR 1 #elif FOO_BAR == 0 #endif
bind_func 0x000000cc resolve_func 0x000029e0 resolve_rels 0x00001010 lookup_global 0x00000c68
bind_func 0x0003f3f8 resolve_rels 0x0003f418 resolve_func 0x0003f88c
/* Deklaracije. */
int f1(char *tekst);
int f2(const char *tekst);
int f3(char const *tekst);
int f4(const char *const tekst);
int f5(char *const tekst);
/* Jednostavan primer const kao
modifikatora metoda. */
#include <string>
#include <iostream>
using std::string;
using std::cout;
using std::endl;
class Zaposleni
{
public:
Zaposleni(const string &ime)
: _ime(ime) {}
virtual ~Zaposleni() {}
string ime()
{
cout << "Pozvana ne-konst metoda." << endl;
return _ime;
}
string ime() const
{
cout << "Pozvana konst metoda." << endl;
return _ime;
}
private:
string _ime;
};
void stampajZaposleni(const Zaposleni &zap)
{
cout << "U funkciji stampajZaposleni" << endl;
cout << zap.ime() << endl;
}
int main(int argc, char* argv[])
{
Zaposleni zap("Mika");
cout << "Poziv preko konst deklarisane promenljive." << endl;
stampajZaposleni(zap);
cout << "Sada poziv preko ne-konst deklarisane promenljive: " << endl;
cout << zap.ime() << endl;
return 0;
}