Poniżej znajduje się wyciąg z książki Bjarne Stroustrup, The C++ Programming Language:Jak ograniczyć wpływ funkcji językowych zależnych od implementacji w C++?
Sekcja 4.6:
Niektóre aspekty podstawowych typów C++ 's, takich jak wielkość int są implementation- określone (§C.2). Podkreślam te zależności i często zalecam ich unikanie lub podejmowanie kroków w celu zminimalizowania ich wpływu. Dlaczego miałbyś się przejmować? Ludzie, którzy programują na różnych systemach lub korzystają z różnych kompilatorów, bardzo się przejmują, ponieważ jeśli tego nie robią, są zmuszeni tracić czas na znajdowanie i naprawianie niejasnych błędów. Ludzie, którzy twierdzą, że nie dbają o przenośność, zwykle robią to, ponieważ używają tylko jednego systemu i czują, że mogą sobie pozwolić na postawę, że "język jest tym, co mój kompilator implementuje." To jest wąski i krótkowzroczny widok. Jeśli Twój program zakończy się sukcesem, prawdopodobnie zostanie przeniesiony, więc ktoś będzie musiał znaleźć i naprawić problemy związane z funkcjami zależnymi od implementacji. Ponadto programy często muszą być kompilowane z innymi kompilatorami dla tego samego systemu, a nawet przyszłe wydanie twojego ulubionego kompilatora może zrobić coś inaczej niż bieżący. O wiele łatwiej jest poznać i ograniczyć wpływ zależności implementacyjnych, gdy program jest pisany, niż próbować rozplątać bałagan później.
Ograniczenie wpływu funkcji językowych zależnych od implementacji jest stosunkowo łatwe.
Moje pytanie brzmi: Jak ograniczyć wpływ funkcji językowych zależnych od implementacji? Wymień cechy językowe zależne od implementacji, a następnie pokaż, jak ograniczyć ich wpływ.
Dobra odpowiedź. Więcej rzeczy, niż byłem tego świadomy :) – workmad3