Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
okwell5
2 / 2 / 1
Регистрация: 03.07.2010
Сообщений: 46
#1

Вывод названия переменной - C++

08.03.2011, 21:50. Просмотров 2506. Ответов 4
Метки нет (Все метки)

Решаю дифференциальные уравнения, много уравнений. Использую для вывода результатов отдельно написанную функцию, поэтому необходимо выводить названия переменных и названия массивов.
Вообще в самом С++ есть какая-то стандартная функция или команда возврата названия переменной или названия массива?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 21:50     Вывод названия переменной
Посмотрите здесь:

Вывод значения переменной на экран C++
Форматированный вывод значения переменной C++
C++ Вывод переменной типа char
C++ Вывод названия месяца года или сообщения об ошибке
C++ вывод переменной из файла .txt
C++ Вывод переменной
C++ Вывод названия геометрической фигуры
Побитовый вывод переменной C++
C++ Странный вывод строчной переменной
Сортировка структуры и вывод названия на экран C++
C++ Изменения названия переменной класса родителя в классе наследнике

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
08.03.2011, 21:57     Вывод названия переменной #2
На счёт плюсов не знаю, зато есть финт ушами в стиле Си (в плюсах, естественно, тоже прокатит):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
#define NAME_OF_VAR(VAR) #VAR
 
int main()
{
    int i;
    char c;
    double arr[10];
 
    std::cout << NAME_OF_VAR(i) << std::endl
              << NAME_OF_VAR(c) << std::endl
              << NAME_OF_VAR(arr) << std::endl;
 
    return 0;
}
alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.03.2011, 22:04     Вывод названия переменной #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
тащемто и правда единственный путь
для надежности можно обернуть в цикл

C++
1
2
3
4
5
#define PRINT( x ) \
        do{ \
          std::cout << __FUNCTION__ << " (" << __LINE__ << \
                              "): [" << #x << "] = " << x; \
        }while(false)
silent_1991
08.03.2011, 22:06
  #4

Не по теме:

Цитата Сообщение от alex_x_x Посмотреть сообщение
для надежности можно обернуть в цикл
А не скажете, для чего? Просто никогда приёма с циклом не видел...

alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.03.2011, 22:16     Вывод названия переменной #5

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
А не скажете, для чего? Просто никогда приёма с циклом не видел...
так макрос становится подобен функции
- while заставляет кодировщика поставить после макроса ;
- исключается подстановка его в другие выражения
- ну и ошибки не такие туманные



Добавлено через 6 минут
в ядре линя часто применяется, например
C
1
2
3
4
5
6
#define DPRINTK(nlevel, klevel, fmt, args...)                           \
do {                                                                    \
        if (NETIF_MSG_##nlevel & adapter->msg_enable)                   \
                printk(KERN_##klevel PFX "%s: %s: " fmt,                \
                       adapter->netdev->name, __func__, ##args);        \
} while (0)
/usr/src/linux/drivers/net/e1000/e100.h
Yandex
Объявления
08.03.2011, 22:16     Вывод названия переменной
Ответ Создать тему
Опции темы

Текущее время: 07:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru