Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ничего не понимаю...)

7.5K
11 января 2005 года
Fialka
36 / / 10.01.2005
Сейчас будет глупый вопрос:
Итак, bc3.1.
Читаю книжку Липмана. Надо использовать stl.
Решила одну задачку там сделать.

пишу:
#include <string>

А он ругается что не знает такого...((

Пишу вместо #include <iostream.h>:
#include <iostream>

тоже самое. ((
Может настройки надо подправить?
8.5K
11 января 2005 года
CaveCanem
13 / / 04.01.2005
Старая система тут надо название файлов писать полностью
(не #include <string> а #include <string.h>)
7.5K
11 января 2005 года
Fialka
36 / / 10.01.2005
 
Код:
#include <string.h>
написала.
пытаюсь объявить переменную:
 
Код:
string ch;

он все равно не знает. (
а на
 
Код:
using namespace std;
ругается declaration syntax;
259
11 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Fialka
 
Код:
#include <string.h>
написала.
пытаюсь объявить переменную:
 
Код:
string ch;

он все равно не знает. (
а на
 
Код:
using namespace std;
ругается declaration syntax;


Посмотри свой string.h и раскоментируй все, что относится к string.stl или вставь #include <путь до string.stl\string.stl>

10
12 января 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Fialka
 
Код:
#include <string.h>
написала.
пытаюсь объявить переменную:


Когда я экспериметировал с gcc, прокатывало #include <string> без ".h".

7.5K
12 января 2005 года
Fialka
36 / / 10.01.2005
Цитата:
Originally posted by smartsoft

Когда я экспериметировал с gcc, прокатывало #include <string> без ".h".


Посмотри мой первый пост. С того все и началось, что он #include <string> не узнает.

1.9K
12 января 2005 года
Underworld
68 / / 29.03.2004
Цитата:
Originally posted by Fialka
 
Код:
#include <string.h>
написала.
пытаюсь объявить переменную:
 
Код:
string ch;

он все равно не знает.



A esli string napisat s bolsoj bukvy:
String ch;

301
12 января 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by Underworld


A esli string napisat s bolsoj bukvy:
String ch;


А может даже надо char str[256]?

3
12 января 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by CaveCanem
Старая система тут надо название файлов писать полностью
(не #include <string> а #include <string.h>)


string - это не краткое название string.h

Цитата:
Originally posted by AlexandrVSmirno

Посмотри свой string.h и раскоментируй все, что относится к string.stl или вставь #include <путь до string.stl\string.stl>


Для начала неплохо бы было заглянуть в string.h самому.
Файлы string и string.h вообще ничего общего не имеют.

string.h - это наследство от С, в нем объявлены С-style методы (strlen, strcpy и т.п.) для работы с С-style строками (char[]).
string - это STL, в нем объявлен и определен шаблонный класс std::basic_string и объявлен класс std::string, как инстанирование класса std::basic_string соотв. параметрами шаблона:
typedef basic_string<char, char_traits<char>, allocator<char> > string

Что же касается bc3.1, то если имеется в виду Borland C++ 3.1, то я не уверен, что он вообще поддерживает шаблоны, а сл-но STL.
Нужно что-то поновее, к примеру тот же gcc.

259
12 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Green

string - это не краткое название string.h


Для начала неплохо бы было заглянуть в string.h самому.
Файлы string и string.h вообще ничего общего не имеют.

string.h - это наследство от С, в нем объявлены С-style методы (strlen, strcpy и т.п.) для работы с С-style строками (char[]).
string - это STL, в нем объявлен и определен шаблонный класс std::basic_string и объявлен класс std::string, как инстанирование класса std::basic_string соотв. параметрами шаблона:
typedef basic_string<char, char_traits<char>, allocator<char> > string

Что же касается bc3.1, то если имеется в виду Borland C++ 3.1, то я не уверен, что он вообще поддерживает шаблоны, а сл-но STL.
Нужно что-то поновее, к примеру тот же gcc.



Вот не поленился заглянул (кстати еще до того, как)

Код:
/* String.h - stub redirector for either _str.h or string.stl
*/

/*
 *      C/C++ Run Time Library - Version 11.0
 *
 *      Copyright (c) 2002 by Borland Software Corporation
 *      All Rights Reserved.
 *
 */


#if !defined(__cplusplus)
# include <_str.h>
#else /* __cplusplus */
# include <_str.h>
# if defined(__USING_STD_NAMES__)
#  ifdef _USE_OLD_RW_STL
#   include[list=1]
#  else
#   include <stlport/string>
#  endif
# endif /* __USING_STD_NAMES__ */
#endif
//Это Builder v6.0
7.5K
12 января 2005 года
Fialka
36 / / 10.01.2005
Цитата:
Originally posted by AlexandrVSmirno

Код:
/* String.h - stub redirector for either _str.h or string.stl
*/

/*
 *      C/C++ Run Time Library - Version 11.0
 *
 *      Copyright (c) 2002 by Borland Software Corporation
 *      All Rights Reserved.
 *
 */
#if !defined(__cplusplus)
# include <_str.h>
#else /* __cplusplus */
# include <_str.h>
# if defined(__USING_STD_NAMES__)
#  ifdef _USE_OLD_RW_STL
#   include[list=1]
#  else
#   include <stlport/string>
#  endif
# endif /* __USING_STD_NAMES__ */
#endif
//Это Builder v6.0


Что-то я такого там не заметила.:angel:
Пол ночи устанавливала VC++.NET, чтоб он провалился. Установила, пробую написать что-то (и ведь надо проект, блин, еще создавать :devil: ), а он мне тоже ошибку. *?%=$ /*непереводимая игра слов*/.
Знакомый программер сказал, что надо обязательно using namespase std писать...попробую сегодня ночью.
Блин, программа в голове сидит, а мне даже не начать.(

3
12 января 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by AlexandrVSmirno

Вот не поленился заглянул (кстати еще до того, как)
Код:
/* String.h - stub redirector for either _str.h or string.stl
*/

/*
 *      C/C++ Run Time Library - Version 11.0
 *
 *      Copyright (c) 2002 by Borland Software Corporation
 *      All Rights Reserved.
 *
 */


#if !defined(__cplusplus)
# include <_str.h>
#else /* __cplusplus */
# include <_str.h>
# if defined(__USING_STD_NAMES__)
#  ifdef _USE_OLD_RW_STL
#   include[list=1]
#  else
#   include <stlport/string>
#  endif
# endif /* __USING_STD_NAMES__ */
#endif
//Это Builder v6.0



Ну что могу сказать...
Значит кто-то решил, что стандарт не для него...
Либо решил подогнать под стандарт таким способом.

1.5 Standard C library headers:

Цитата:

1 For compatibility with the Standard C library, the C++ Standard library provides the 18 C headers, as shown in Table 1:

Table 1--C Headers
<assert.h>
<iso646.h>
<setjmp.h>
<stdio.h>
wchar.h>
<ctype.h>
<limits.h>
<signal.h>
<stdlib.h>
<wctype.h>
<errno.h>
<locale.h>
<stdarg.h>
<string.h>
<float.h>
<math.h>
<stddef.h>
<time.h>

3
12 января 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Fialka

Пол ночи устанавливала VC++.NET, чтоб он провалился. Установила, пробую написать что-то (и ведь надо проект, блин, еще создавать :devil: ), а он мне тоже ошибку. *?%=$ /*непереводимая игра слов*/.


Честно говоря не вижу ничего сложного ни в установке, ни в создании проекта.

Цитата:
Originally posted by Fialka

Знакомый программер сказал, что надо обязательно using namespase std писать...


Конечно, надо указывать область видимости, но я бы не рекомендовал использовать using namespase, лучше указывать явно std::string, std::cout и т.д.

7.5K
12 января 2005 года
Fialka
36 / / 10.01.2005
Цитата:
Originally posted by Green

Честно говоря не вижу ничего сложного ни в установке, ни в создании проекта.


Бебебе.
Не сложно. Долго.
К тому же у меня книжек по среде этой нету, сидела наугад тыкала, разбиралась.
А проект из-за 5 строк делать не хочется.
Конечно, наверняка есть весомые причины которые мне, как начинающему, пока недоступны для понимания...и компилировать только проекты - это дисциплина, но ведь это просто мое имхо.

Цитата:
Конечно, надо указывать область видимости, но я бы не рекомендовал использовать using namespase, лучше указывать явно std::string, std::cout и т.д.


Почему?
Проще же один раз написать и не париться...

3
12 января 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Fialka

Почему?
Проще же один раз написать и не париться...


Лучше один немного "попариться" вначале, чем долго и нудно париться потом.

10
12 января 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Green
Что же касается bc3.1, то если имеется в виду Borland C++ 3.1, то я не уверен, что он вообще поддерживает шаблоны, а сл-но STL.


Может быть и правдой. Сколько ему лет-то?

259
12 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by smartsoft

Может быть и правдой. Сколько ему лет-то?


Для bc3.1

Код:
#include "classlib\include\strng.h"
/*выдержки из strng.h
class _CLASSTYPE String : public Sortable
{

public:

    String( const char _FAR * = "" );
    String( const String _FAR & );
    virtual ~String()
        {
        delete theString;
        }


    String& operator = ( const String _FAR & );
    operator const char _FAR *() const;

    virtual int isEqual( const Object _FAR & ) const;
    virtual int isLessThan( const Object _FAR & ) const;\

    virtual classType isA() const
        {
        return stringClass;
        }

    virtual char _FAR *nameOf() const
        {
        return "String";
        }

    virtual hashValueType hashValue() const;
    virtual void printOn( ostream _FAR & ) const;

private:

    sizeType len;
    char _FAR *theString;

};
*/
String myString;
3
12 января 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by AlexandrVSmirno

Для bc3.1
Код:
#include "classlib\include\strng.h"
/*выдержки из strng.h
class _CLASSTYPE String : public Sortable
{

public:

    String( const char _FAR * = "" );
    String( const String _FAR & );
    virtual ~String()
        {
        delete theString;
        }


    String& operator = ( const String _FAR & );
    operator const char _FAR *() const;

    virtual int isEqual( const Object _FAR & ) const;
    virtual int isLessThan( const Object _FAR & ) const;\

    virtual classType isA() const
        {
        return stringClass;
        }

    virtual char _FAR *nameOf() const
        {
        return "String";
        }

    virtual hashValueType hashValue() const;
    virtual void printOn( ostream _FAR & ) const;

private:

    sizeType len;
    char _FAR *theString;

};
*/
String myString;


Это не STL, это вообще не стандарт С++

259
12 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Green

Это не STL, это вообще не стандарт С++


Зато так на самом деле в BC3.1

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог