Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2017, 11:47   #1
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию Стандартная библиотека.

Здравствуйте!
Ищу в интернете и не могу найти код класса iostream и других основных классов. Везде только правила использования их объектов и методов.
Это что, закрытая информация?
Например:
cin – для обработки ввода с клавиатуры;
и всё.
А мне надо код, как этот cin реализован.
Где взять эту информацию?
KAMLS вне форума Ответить с цитированием
Старый 10.12.2017, 12:20   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Ищу в интернете и не могу найти код класса iostream и других основных классов.
https://gcc.gnu.org/onlinedocs/gcc-4...11_source.html
https://gcc.gnu.org/onlinedocs/libst...am-source.html
Первая страница в гугле.

Цитата:
Это что, закрытая информация?
Очень, пля.

Цитата:
Где взять эту информацию?
Открыть папку инклуд своего компилятора и посмотреть.
p51x вне форума Ответить с цитированием
Старый 10.12.2017, 12:25   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

cin это просто глобальная переменная, Ctrl+клик на нем.

Хедеры везде доступны, исходники по-моему тоже в основном доступны, в VS некоторая часть исходников вроде закрыта.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.12.2017, 14:14   #4
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Попробуйте забить вопрос "где папка include в VS 2008" в гугл. Смешно. Ответа просто нет! Пишут про что угодно, в основном про вс2015.
Я смотрел то что вы мне посоветовали. Или я еще не разобрался, или это не то.
Я хочу код, где показан механизм работы cin например.
Т.е. из каких самых базовых ключевых слов создано это действие? И другие действия.
Опять же, есть ли в С++ какое-либо общее обозначение например буквенных символов, символов от 1 до 0?
Т.е.
if(a!=буква)
то такое то действие;

Последний раз редактировалось KAMLS; 10.12.2017 в 14:18.
KAMLS вне форума Ответить с цитированием
Старый 10.12.2017, 14:29   #5
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Попробуйте забить вопрос "где папка include в VS 2008" в гугл.
Какой вопрос, такой ответ.
Цитата:
Сообщение от KAMLS Посмотреть сообщение
Ответа просто нет!
Печаль.
Цитата:
Сообщение от KAMLS Посмотреть сообщение
А мне надо код, как этот cin реализован.
В разных компиляторах по-разному.
cin - это объект класса basic_istream<char>, значит идем в хедеры компилятора и смотрим код.
Но вот беда, скорее всего, там будут только (а может и не только) объявления функций-членов, а не реализация.
А значит качаем исходники компилятора (ах, да, удачи с cl), смотрим где оно реализовано, как, как создаются эти объекты, инициализируются и т.д.

Последний раз редактировалось Croessmah; 10.12.2017 в 14:32.
Croessmah вне форума Ответить с цитированием
Старый 10.12.2017, 14:30   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Попробуйте забить вопрос "где папка include в VS 2008" в гугл.
Попробуйте открыть опции проекта и посмотреть. Попрбуйте открыть папку с установленным компилятором и СДК и посмотреть. Смешно.

Цитата:
Я смотрел то что вы мне посоветовали. Или я еще не разобрался, или это не то.
Толко вы знаете, что вам надо.

Цитата:
Я хочу код, где показан механизм работы cin например.
Код:
_STD_BEGIN

		// OBJECT DECLARATIONS
__PURE_APPDOMAIN_GLOBAL int ios_base::Init::_Init_cnt = -1;
int& ios_base::Init::_Init_cnt_func()
{
    return ios_base::Init::_Init_cnt;
}

_CRTIMP2_PURE void __cdecl ios_base::Init::_Init_ctor( ios_base::Init *)
	{	// initialize standard streams first time
	if (0 <= _Init_cnt)
		++_Init_cnt;
	else
		_Init_cnt = 1;
	}

_CRTIMP2_PURE void __cdecl ios_base::Init::_Init_dtor(ios_base::Init *)
	{	// flush standard streams last time
	if (--_Init_cnt == 0)
		{	// flush standard streams
		if (_Ptr_cerr != 0)
			_Ptr_cerr->flush();
		if (_Ptr_clog != 0)
			_Ptr_clog->flush();
		if (_Ptr_cout != 0)
			_Ptr_cout->flush();
		}
	}
_STD_END
И т.д. в хедерах:
Код:
	fmtflags __CLR_OR_THIS_CALL setf(fmtflags _Newfmtflags, fmtflags _Mask)
		{	// merge in format flags argument under mask argument
		ios_base::fmtflags _Oldfmtflags = _Fmtfl;
		_Fmtfl = (fmtflags)(((int)_Fmtfl & (int)~_Mask)
			| ((int)_Newfmtflags & (int)_Mask & (int)_Fmtmask));
		return (_Oldfmtflags);
		}

	void __CLR_OR_THIS_CALL unsetf(fmtflags _Mask)
		{	// clear format flags under mask argument
		_Fmtfl = (fmtflags)((int)_Fmtfl & (int)~_Mask);
		}

	streamsize __CLR_OR_THIS_CALL precision() const
		{	// return precision
		return (_Prec);
		}
Цитата:
Опять же, есть ли в С++ какое-либо общее обозначение например буквенных символов
Вы о char, wchar, u8char_t, ...?

Цитата:
символов от 1 до 0?
а какие между ними символы?

Цитата:
if(a!=буква)
то такое то действие;
Вы о чем? Обработка клавы? Чего-то еще?

Цитата:
А значит качаем исходники компилятора (ах, да, удачи с cl)
Ага. Это ж так трудно зайти в папку src и увидеть исходники крт и рантайма.

Последний раз редактировалось p51x; 10.12.2017 в 14:33.
p51x вне форума Ответить с цитированием
Старый 10.12.2017, 14:40   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Попробуйте забить вопрос "где папка include в VS 2008" в гугл.
Зачем? Она в самой студии много где написана, да и доступ к хедерам в ней самой есть.



Цитата:
Сообщение от KAMLS Посмотреть сообщение
в основном про вс2015.
потому что никто уже не пользуется всякими древностями.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.12.2017, 14:51   #8
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо Вам большое!
С этим то я уже могу поработать.)
Очень большое спасибо.
KAMLS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стандартная библиотека ввода/вывода Tiphon Общие вопросы C/C++ 4 16.01.2016 16:16
Clang и стандартная библиотека в Windows Sushev Общие вопросы C/C++ 2 11.01.2015 11:39
Не подключается стандартная библиотека. LexaniT Visual C++ 4 24.07.2012 19:30
Стандартная библиотека С++ Mike92 Общие вопросы C/C++ 4 04.06.2011 12:14
Стандартная библиотека... Sota Общие вопросы C/C++ 3 17.07.2007 19:18