~ to negacja bitowa, odwraca wsztstkie bity swojego argumentu. Czyli np. ~0x000000ff == ~0xffffff00.
~~ to negacja bitowa zaaplikowana dwukrotnie.
: występuje w kilku miejscach, np. rozpoczynając listę inicjalizacyjną konstruktora tak jak tu:
class A {
const int a;
const int b;
A(int x, int y) : a(x), b(y) {};
};
:: to operator przestrzeni nazw. Jeżeli jakiś element, do którego chcesz się dostać nie leży w obecnej przestrzeni nazw możesz go znaleźć pisząc przestrzeńNazwElementu::nazwaElementu, np:
~ to negacja bitowa, odwraca wsztstkie bity swojego argumentu. Czyli np. ~0x000000ff == ~0xffffff00.
~~ to negacja bitowa zaaplikowana dwukrotnie.
: występuje w kilku miejscach, np. rozpoczynając listę inicjalizacyjną konstruktora tak jak tu:
class A {
const int a;
const int b;
A(int x, int y) : a(x), b(y) {};
};
:: to operator przestrzeni nazw. Jeżeli jakiś element, do którego chcesz się dostać nie leży w obecnej przestrzeni nazw możesz go znaleźć pisząc przestrzeńNazwElementu::nazwaElementu, np:
#include <string>
#include <iostream>
namespace xyz {
namespace abc {
const std::string sss = "abc";
}
}
int main() {
std::clog << xyz::abc::sss << std::endl;
return 0;
}