Тема: Змінна та їх типи
Що таке змінна та які типи змінних існують у C++?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Змінна та їх типи
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Змiнна це iм'я, що викорисовується для доступу до даних скалярного типу, таких як цiлi, числа з плаваючою крапкою, вказiвники, перечислення... - тобто основнi типи. Бiльш загальним поняттям є об'єкт. Тож змiннi можно вважати пiдмножиною об'єктiв. Коли говорять "змiнна", - за звичай, наголошують, що им'я посилається, саме на значення скалярного типу, на вiдмiну вiд типiв масиву, об'єкту, чи структури. Строгого визначеня я нiде не бачив. Ви можете знайти навiть такi перли як "константна змiнна". Тобто, у багатьох контекстах поняття змiнних та констант вживаються, як ортогональнi. Хтось з великих, скзав, що математика, це дивовижний спосiб водити себе за нiс. Коли я дивлюся на те, що математики роблять з прекметною логiкою, то лише разводжу руками. Особливо, це стосується прикладних математикiв. А оскiльки, програмування є роздiлом саме прикладної математики, то раджу не акцентувати увагу на визначеннях. Набагато краще зрозумiти як воно працює, та що зним можна зробити.
Наприклад, колись дуже давно, типом даних вважалася купка критерiїв: розмiр, формат, доступнi операцiї. У якомусь сенсi воно не втратило актуальностi i варто тримати цi критерiї, у горовi. При чому, виразом вважалась синтаксична конструкцiя, яка повертає значння. Тож легко було зрозумiти, який тип має вираз. Але зараз, виразом вважається синтаксична конструкцiя, яка вимагає якихось обчислювань. А це вже iнша справа, бо припускає сайдефекти, без повернення якогось значення як такого. До того ж, потiм з'явилася бiльш високорiвнева абстракцiя програмного об'єкту. Наприклад, посилання немає свого власного об'єкта даних, являючись програмним об'єктом. I воно має тип! Потiм почалася эра метапрогамування i на арену вийшли складнi вирази, що складаються з объяв типiв. Вони iнодi повертають типи (не значення у сенсi даних). I вони припускають певнi обчислення на этапi компiляцiї. Самi, як такi, вони типу не мають. Потiм з'явилася семантiка перемiщення з посиланням на rvalue. Оскiлькi, "старе" посилання не може вiдрiзнити тип значення для здiйснення перегрузки по неї, той винайшли rvalue посилання. Ще й знадобилося вводити категорiю значень... I ще з'явилась перегрузка по типу значень, про що явно нi де не кажуть. Але ж саме вона є головною метою, без розумiння якої, зрозумiти цi речи неможливо.
Про це можна багато говорити, але прийде час i ви зiткнетесь з цим на практицi. Тодi, легше бути вiдповiсти на конктретне запитання. Це тому, що С++, це саме про типи. А вона величенька, ця мова. До того ж, безглуздо розповiдати про те, чого запитуючий ще не може зрозумiти. Тож конкретнi питання, - конкретнi (бiльш-менш) вiдповiдi. А краткiсть це не сiнонiм конкретностi. Саме короткi запитання бувають дуже загальними.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися