Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
#1

Как проверить, что находится в переменной? - C++

09.08.2013, 13:53. Просмотров 1514. Ответов 33
Метки нет (Все метки)

Недавно возник вопрос...как проверить через инструкцию if какое значение находится в переменой, числовое или текстовое??

допустим такой код

int a=0;
if(a==int) ....

понятное дело что код не рабочий который опысан выше, я его написал чтобы изложить суть моего вопроса, так вот есть ли в С что то подобное, чтобы проверить переменную к какому типо он отностися...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 13:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как проверить, что находится в переменной? (C++):

Как проверить что в переменной char хранится число? - C++
Т.е. что там использованы только числа от 0 до 9 и нет букв?

Как проверить что к переменной прибавилось более чем X - C++
Здравствуйте Уважаемые Форумчане! Сегодня у меня возникла следующая проблема , об которой я даже не знаю как загуглить можно)) ...

Проверить, что найденная фраза находится внутри кавычек - C++
size_t found = workspace.find ("AAA", found+3); Как узнать находится ли слово внутри < > кавычек, при этом внутри могут быть еще...

Проверить что в массиве минимальное значение находится раньше максимального - C++
1.Существует одномерный массив. Правда,что минимальное значение в массиве находится раньше максимального числа?

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С - C++
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? - C++
#include <iostream> using namespace std; int main(){ double x, y; int R=10 cout << "Введите x: " <<...

33
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
09.08.2013, 14:56 #16
Если память мне не изменяет есть еще такая штука как определение типа переменной в процессе работы программы возможно именно с этим автор данного поста и столкнулся ))
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
09.08.2013, 14:57 #17
батенька, тролли например активно юзают метаинформацию типа, а вы так и курить низкоуровневые языки - извольте в раздел ясли Си
0
Kuzia domovenok
1958 / 1811 / 142
Регистрация: 25.03.2012
Сообщений: 6,286
Записей в блоге: 1
09.08.2013, 15:11 #18
Цитата Сообщение от Кудаив Посмотреть сообщение
метаинформацию типа
Цитата Сообщение от Кудаив Посмотреть сообщение
низкоуровневые языки
Цитата Сообщение от Кудаив Посмотреть сообщение
Си
А с каких пор Си - низкоуровневый? Может ещё и плюсы низкоуровневым назовёшь?
0
korvin_
1913 / 1397 / 219
Регистрация: 28.04.2012
Сообщений: 5,011
09.08.2013, 15:50 #19
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а какой она ещё может быть переменной-то? Это и называется "строгая типизация", потому что вопросов о типе переменных не возникает.

Не по теме:

Это называется статическая типизация. http://stackoverflow.com/a/430414

0
0x10
2480 / 1655 / 248
Регистрация: 24.11.2012
Сообщений: 4,100
09.08.2013, 15:51 #20
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А с каких пор Си - низкоуровневый? Может ещё и плюсы низкоуровневым назовёшь?
Слайды 6-7) http://www.slideshare.net/profyclub_ru/ss-9536891
0
Tulosba
09.08.2013, 16:05
  #21

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
Слайды 6-7)
То, что выражается не естественным языком - низкий уровень

0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
09.08.2013, 18:20  [ТС] #22
Цитата Сообщение от Tulosba Посмотреть сообщение
Язык C++, как и язык C, строго типизированный. Нельзя в целочисленную переменную записать что-то, что не является целым числом.
это понятно, вопрос мой был в том как проверку осуществить. другими словами.

создаем переменную int a=0;
делаем проверку если в переменную int присваивается не целочисленное значение то программа закрывается(не могу осуществить это)
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
09.08.2013, 18:21 #23
Цитата Сообщение от GoldDragon Посмотреть сообщение
создаем переменную int a=0;
делаем проверку если в переменную int присваивается не целочисленное значение то программа закрывается(не могу осуществить это)
Ты занимаешь чепухой. Это выглядит так, будто ты не знаешь элементарных основ.
1
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
09.08.2013, 18:27 #24
Цитата Сообщение от GoldDragon Посмотреть сообщение
если в переменную int присваивается не целочисленное значение
О_о Напиши когда провернёшь этот трюк...
2
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
09.08.2013, 18:29 #25
Цитата Сообщение от GoldDragon Посмотреть сообщение
если в переменную int присваивается не целочисленное значение то программа закрывается
если в переменную int присваивается не целочисленное значение (которое не может быть преобразовано в целочисленное), то программа просто не скомпилируется.
О каких-либо проверках можно говорить, если, скажем, пользователь вводит с клавиатуры что-то вместо числа, там где ожидается число. Но это уже совсем другая история.
0
Kuzia domovenok
1958 / 1811 / 142
Регистрация: 25.03.2012
Сообщений: 6,286
Записей в блоге: 1
09.08.2013, 18:42 #26
GoldDragon, ты говоришь ерунду. и такое чувство, что ставишь вопрос вообще не о том. Вот если бы ты спросил "как заставить пользователя вводить с клавиатуры только целые числа", все бы тебя поняли.
А пока что тема выглядит как-то странно. Все тебя пытаются убедить, что в переменных int не хранится ничего кроме целых чисел, а ты возражаешь!
1
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
09.08.2013, 21:19  [ТС] #27
все вопрос решен, нашел на нашем форуме подобную тему. впредь буду внимательнее прежде чем создавать дубли).спасибо всем
0
Tulosba
09.08.2013, 22:04
  #28

Не по теме:

Цитата Сообщение от GoldDragon Посмотреть сообщение
все вопрос решен, нашел на нашем форуме подобную тему.
И как же там вопрос решен?

2
fatalis
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
09.08.2013, 23:06 #29
C++
1
2
3
4
5
6
7
8
9
10
template<class T,class V> auto ff(T a,V b)->decltype(a+b)
{
    return a+b;
}
int main(int argc, const char * argv[])
{
    auto i=ff(5,6.5);
    cout<<i;
    return 0;
}
У нас есть переменная i,но мы все же не знаем ее тип.

Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class SimpleClassB
{
public:
    int b;
    SimpleClassB(int x):b(x){};
};
class SimpleClassA
{
public:
    int a;
    SimpleClassA(int x):a(x){};
    friend SimpleClassA operator+(const SimpleClassA& a,const SimpleClassB& b);
};
SimpleClassA operator+(const SimpleClassA& a,const SimpleClassB& b)
{
    return SimpleClassA(rand());
}
template<class T,class V> auto ff(T a,V b)->decltype(a+b)
{
    return a+b;
}
 
int main(int argc, const char * argv[])
{
    SimpleClassA t1(5);
    SimpleClassB t2(7);
    auto i=ff(t1,t2);
    cout<<typeid(i).name();
    return 0;
}
Тогда помогает typeid(уже было написано в топике)
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.08.2013, 00:17 #30
Цитата Сообщение от fatalis Посмотреть сообщение
У нас есть переменная i,но мы все же не знаем ее тип.
Тип известен на момент компиляции. В обоих случаях.
0
10.08.2013, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2013, 00:17
Привет! Вот еще темы с ответами:

Как проверить успешность создания динамической переменной? - C++
ПОдскажите пожалуйста как модно проверять успешность создания новой двумерной динамической переменной?

Как проверить размер чаровской переменной именно в битах - C++
Здравствуйте, уважаемые знатоки! Подскажите, пожалуйста, как проверить размер чаровской переменной именно в битах, а потом, если битиков...

Как правильно посмотреть, что находится в массиве пикселей в понятном виде? - C++
Есть камера, с которой в комплекте идет библиотека и её описание с примерами. В одном примере указано: const char* p_buf =...

Как проверить есть ли в string что нибудь ? - C++
Как проверить есть ли в string что нибудь ? Например функция для проверки стороки &quot;S&quot;.


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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