User Tools

Site Tools


cpp:constants

Κυριολεκτικά

Τα κυριολεκτικά αποτελούν σταθερές αριθμητικές εκφράσεις που εμφανίζονται μέσα στον κώδικα.

Ακέραια κυριολεκτικά

Τα δεκαδικά κυριολεκτικά μπορούν να απεικονιστούν στις παρακάτω μορφές τόσο ως προσημασμένοι ή μη προσημασμένοι ακέραιοι

  1. Δεκαδικής μορφής: Για παράδειγμα 333 ή 14587921 ή -145.
  2. Οκταδικής μορφής: Σημειώνονται με πρώτο ψηφίο το 0. Για παράδειγμα 02345 ή -032456.
  3. Δεκαεξαδικής μορφής: Σημειώνονται με την ακολουθία ψηφίων 0x στην αρχή. Για παράδειγμα 0xFF ή -0x3A
  4. Δυαδικής μορφής: Σημειώνονται με την ακολουθία ψηφίων 0b στην αρχή. Για παράδειγμα 0b1111 ή -0x1111.

Ο compiler δηλώνει όλα τα κυριολεκτικά ως int εκτός εάν προσδιορίσετε εσείς τον τύπο του κυριολεκτικού με τους παρακάτω πρσδιοριστές αμέσως μετά την δήλωση του:

  • u ή U: μη προσημασμένο (π.χ. 99u ή 99U)
  • l ή L: τύπου long (π.χ. 99l ή 99L)
  • ul ή lu: μη προσημασμένο τύπου long (π.χ. 99ul ή 99UL)
  • ll ή LL: τύπου long long (πχ. 99ll ή 99LL)

Κυριολεκτικά κινητής υποδιαστολής

Παραδείγματα

3.14159    // 3.14159
6.02e23    // 6.02 x 10^23
1.6e-19    // 1.6 x 10^-19

Τα κυριολεκτικά κινητής υποδιαστολής είναι τύπου double. Εάν θέλετε να τα δηλώσετε float ή long double θα πρέπει να προσθέσετε στο τέλος του κυριολεκτικού τους αντίστοιχους προσδιοριστές:

  • f ή F: float
  • l ή L: long doule

Κυριολεκτικά χαρακτήρων

Τα κυριολεκτικά χαρακτήρων προσδιορίζονται μέσα σε μοναδικά εισαγωγικά. Για παράδειγμα το κυριολεκτικό 'Α' συμβολίζει τον χαρακτήρα a κεφαλαίο. Μπορείτε να προσδιορίσετε ένα χαρακτήρα με χρήση της αριθμητικής τιμής του χαρακτήρα στο σύστημα ASCII ως εξής:

char c = 'J';
char c = '\x4a'; // χρήση δεκαεξαδικής απεικόνισης για τον χαρακτήρα 'J".
char c = '\112'; // χρήση οκταδικής απεικόνισης για τον χαρακτήρα 'J".

Επιπλέον ορίζονται οι παρακάτω ειδικοί χαρακτηρές:

Χαρακτήρας Περιγραφή
\n newline
\r carriage return
\t tab
\v vertical tab
\b backspace
\f form feed (page feed)
\a alert (beep)
\' single quote (')
\“ double quote (”)
\? question mark (?)
\\
backslash (\)

Κυριολεκτικά αλφαριθμητικών

Τα αλφαριθμητικά είναι ακολουθίες χαρακτήρων οι οποίες τερματίζουν με τον χαρακτήρα '\0'. Για παράδειγμα οι παρακάτω δύο ορισμοί του αλφαριθμητικού “Hello World” είναι ταυτόσημοι.

char myword[] = { 'H', 'e', 'l', 'l', 'o', '\0' };
char myword[] = "Hello"; 

Τα κυριολεκτικά αλφαριθμητικών δηλώνονται μέσα σε διπλά εισαγωγικά, για παράδειγμα

const char *str = "Hello World";

Ένα αλφαριθμητικό μπορεί να εκτείνεται σε περισσότερες της μίας γραμμές με χρήση του χαρακτήρα '\' ως εξής:

const char *hello = "Hello \
World \
my friend\";

Δύο ή περισσότερα αλφαριθμητικά συνενώνονται εάν τα δηλώσουμε το ένα μετά το άλλο ως εξής:

const char *hello = "Hello " "World " "my friend.";

Κυριολεκτικά τύπου boolean

Για τον τύπο bool (boolean) ορίζονται οι σταθερές τιμές true και false

bool foo = true;
bool bar = false;

Κυριολεκτικά δεικτών

Ορίζεται το κυριολεκτικό nullptr το οποίο δηλώνει ένα pointer με τιμή null (ορίζεται στο standard C++11).

nullptr.cpp
int main() {
  char *ptr = nullptr;
}

Σταθερές

Οι σταθερές δηλώνονται με τον προσδιοριστή const μαζί με τον τύπο του κυριολεκτικού. Για παράδειγμα:

const double PI = 3.14159;
const char endline = '\n';
cpp/constants.txt · Last modified: 2023/04/25 11:19 by gthanos