Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 20.10.2020
Сообщений: 16

обозначения m_ или другие с нижним подчеркиванием у переменных

20.10.2020, 18:15. Показов 6513. Ответов 7

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня вопрос, при написании переменной например "m_myClass = myClass" или "m_auto = auto" для чего мы добавляем в некоторых местах (где именно и почему мы это добавляем). В каких именно места мы можем это написать и какие еще бывают буквы кроме "m"? и как это помогает или упрощает работу? спрашивал у преподавателя, ничего особо не понял. Посему прошу вашей помощи. Спасибо.
P.S. учусь не на русском языке, поэтому еще сложнее понимать некоторые моменты
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2020, 18:15
Ответы с готовыми решениями:

заменить пробел нижним подчеркиванием
день добрый, подскажите, неопытному, есть рабочий скрипт для перевода слов в транслит, я хотел чтоб за место пробелов появлялось нижнее...

Чёрный экран с нижним мигающим подчеркиванием
Знаю, что это частая проблема, но у меня совсем ничего не выходит. Ноутбук ASUS A52J. Стояла 7, внезапно стал принудительно обновляться....

Содержимое закладки сделать с нижним подчёркиванием Ворд
здравствуйте, сейчас в Ворде есть закладка но в ней есть несколько пробелов, как их заменить на нижнее подчёркивание, я про то, что если...

7
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
20.10.2020, 18:26
Цитата Сообщение от Abakana21 Посмотреть сообщение
У меня вопрос, при написании переменной например "m_myClass = myClass" или "m_auto = auto" для чего мы добавляем в некоторых местах (где именно и почему мы это добавляем). В каких именно места мы можем это написать и какие еще бывают буквы кроме "m"? и как это помогает или упрощает работу? спрашивал у преподавателя, ничего особо не понял. Посему прошу вашей помощи. Спасибо.
Префикс m_ придуман для того, чтобы отличать переменные класса от локальных переменных и параметров.

Добавлено через 1 минуту
Например
C++
1
2
3
4
5
6
7
8
9
10
class MyClass
{
public:
    void set_x(int x)
    {
        m_x = x;
    }
 
    int m_x = 0;
}
Добавлено через 1 минуту
Очевидно, что без префикса пришлось бы придумывать другое имя параметра, либо делать this->x = x
0
0 / 0 / 0
Регистрация: 20.10.2020
Сообщений: 16
20.10.2020, 18:28  [ТС]
а есть ли какие-то другие буквы обозначения, кроме как m? Или они как-то подразделяются и используются по-разному?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
20.10.2020, 18:37
Цитата Сообщение от Abakana21 Посмотреть сообщение
а есть ли какие-то другие буквы обозначения, кроме как m? Или они как-то подразделяются и используются по-разному?
Для переменных класса обычно используется m_
Для глобальных переменных, static или extern, часто используется префикс g_

Добавлено через 3 минуты
Основной смысл этих префиксов отличать эти переменные/константы от локальных переменных и параметров. Последние приходится определять очень часто, чтоб лишний раз не придумывать им имена.
А разные буквы - чтоб отличать переменные класса от глобальных и т.д.
0
0 / 0 / 0
Регистрация: 20.10.2020
Сообщений: 16
20.10.2020, 19:43  [ТС]
а можно как-то пример на коде, в котором будет выражено, в какой последовательности их писать? или можно их писать в разном порядке внутри класса?
0
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,824
20.10.2020, 19:48
Цитата Сообщение от Abakana21 Посмотреть сообщение
а можно как-то пример на коде, в котором будет выражено, в какой последовательности их писать? или можно их писать в разном порядке внутри класса?
Ни в какой. Это негласные правила, и даже вообще никакие не правила. Я называю поля класса так: field_. Так какой пример ты требуешь, если каждый человек делает так, как ему вздумается?
Единственное, когда ты придешь работать в компанию, тебя начнут дрючить, чтобы ты писал так, как принято у них в компании. Если не нанчнут - уходи оттдуа.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
20.10.2020, 19:51
Цитата Сообщение от Abakana21 Посмотреть сообщение
а можно как-то пример на коде, в котором будет выражено, в какой последовательности их писать? или можно их писать в разном порядке внутри класса?
В смысле, в какой последовательности? Внутри класса ты определяешь только переменные класса, все они будут с префиксом m_
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
20.10.2020, 20:07
Лучший ответ Сообщение было отмечено Abakana21 как решение

Решение

Цитата Сообщение от Abakana21 Посмотреть сообщение
а есть ли какие-то другие буквы обозначения, кроме как m?
Венгерская нотация
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2020, 20:07
Помогаю со студенческими работами здесь

Acer Aspire 5750g черный экран с нижним подчеркиванием(не мигает) без POST
Перезагрузил ноут и больше не включается, сначала появляется экран с надписью Acer (ноут aser aspire 5750g ) после появляется черный экран...

После работы с Acronis Disk Director не загружается Windows. Горит черный экран с мигающим нижним подчеркиванием
Добрый вечер! Прошу помощи. Завтра могу прислать фото что показано в акронис Добавлено через 12 минут Переустановка Виндоус и...

Функции gets_s, printf_s и другие с подчеркиванием
Я так понимаю, что все данные функции появились в Visual Studio и являются улучшенным вариантом их прототипов. К тому же IDE Dev-C++(с...

Обозначения переменных
Подскажите, пожалуйста, будет ли выводиться возле int значок cm, например, если мне нужно указать в программе, что это именно сантиметры? и...

Обозначения (пиктограммки) переменных
Коллеги, добрый день. Прошу помочь разобраться. Я только начал разбираться с VisualStudio и C# и многое доходит очень медленно. У...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru