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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2009, 10:34   #11
JOFRIF
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 164
По умолчанию

Цитата:
Сообщение от dreamish Посмотреть сообщение
Error:
d:\program files\microsoft visual studio\myprojects\hg\hg.cpp(20) : fatal error C1010: unexpected end of file while looking for precompiled header directive

Там не было iostream сорри забыл...

вот :
Код:
#include <iostream>
#include <string>
using namespace std;
int main()
{
      int errors = 0;
      string str( "a very long literal string" );
      for ( int ix = 0; ix < 1000000; ++ix )
           string str2 = str;

      if ( str != str2 )
              cout << "class string: "<< errors << " errors."<<endl;      
      else 
           cout<<"No errors"<<endl;
      return 0;
}
JOFRIF вне форума Ответить с цитированием
Старый 04.09.2009, 10:36   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

BC++
Код:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int errors = 0;
string str( "a very long literal string" );
for ( int ix = 0; ix < 10; ++ix )
{
 int len = str.size();
 string str2 = str;
 if ( str != str2 )  cout << "класс string: "<< errors << " ошибок.\n";
}
cin.get();

return 0;
}
Работает как полагается.

P.S. А что эта прога делать то должна, или это очковтирательство какоенить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2009, 10:50   #13
dreamish
 
Регистрация: 02.07.2009
Сообщений: 9
По умолчанию

Код:
#include "iostream.h"
#include "string.h"
#include "stdafx.h"
using namespace std;
main()
{
  string str( "a very long literal string" );
  return 0;
}
ошибки:
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(5) : error C2871: 'std' : does not exist or is not a namespace
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'string' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2146: syntax error : missing ';' before identifier 'str'
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'str' : undeclared identifier
dreamish вне форума Ответить с цитированием
Старый 04.09.2009, 11:00   #14
JOFRIF
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 164
По умолчанию

Цитата:
Сообщение от dreamish Посмотреть сообщение
Код:
#include "iostream.h"
#include "string.h"
#include "stdafx.h"
using namespace std;
main()
{
  string str( "a very long literal string" );
  return 0;
}
ошибки:
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(5) : error C2871: 'std' : does not exist or is not a namespace
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'string' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2146: syntax error : missing ';' before identifier 'str'
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'str' : undeclared identifier
тяжелый случай...
JOFRIF вне форума Ответить с цитированием
Старый 04.09.2009, 11:30   #15
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от dreamish Посмотреть сообщение
ошибки:
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(5) : error C2871: 'std' : does not exist or is not a namespace
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'string' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2146: syntax error : missing ';' before identifier 'str'
D:\Program Files\Microsoft Visual Studio\MyProjects\hg\hg.cpp(9) : error C2065: 'str' : undeclared identifier
Откуда взялось вот это?
Код:
#include "iostream.h"
#include "string.h"
и куда делись:
Код:
#include <iostream>
#include <string>
А "stdafx.h" лучше подключать самым первым
pu4koff вне форума Ответить с цитированием
Старый 04.09.2009, 11:38   #16
dreamish
 
Регистрация: 02.07.2009
Сообщений: 9
По умолчанию

Цитата:
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
void main()
{
string str( "a very long literal string" );

}
вот так работает.
если к
#include "iostream"
#include "string"
добавить расширение то генерируется ошибка.
какая разница в каком порядке подключать заголовочные файлы?
dreamish вне форума Ответить с цитированием
Старый 04.09.2009, 11:38   #17
dreamish
 
Регистрация: 02.07.2009
Сообщений: 9
По умолчанию

какое пространство имен по дефолту?
dreamish вне форума Ответить с цитированием
Старый 04.09.2009, 11:55   #18
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от dreamish Посмотреть сообщение
вот так работает.
если к
#include "iostream"
#include "string"
добавить расширение то генерируется ошибка.
Потому что "iostream" и "iostream.h" - разные файлы.
#include <iostream>
#include <string>
так же скомпилится и даже быстрее, чем предыдущий вариант.
Цитата:
Сообщение от dreamish Посмотреть сообщение
какая разница в каком порядке подключать заголовочные файлы?
Может быть никакой, а может быть и большая. В некоторых случаях не будет работать:
Код:
#include "b.h"
#include "a.h"
но будет работать:
Код:
#include "a.h"
#include "b.h"
Зависит от содержимое подключаемых файлов.
Прекомпиленные хедеры лучше прописывать первыми. Не знаю будет ли какая разница, но это что-то вроде правило хорошего тона как минимум, а может и какие-то проблемы могут быть. Точно не скажу.

По дефолту анонимное пространство имен (или как уж там оно правильно называется).
Вот такой код будет работать:
Код:
#include <iostream>

namespace
{
  int x;
}

int main()
{
  std::cout << x; // х без указания namespace, а для cout нужно указывать
}
pu4koff вне форума Ответить с цитированием
Старый 04.09.2009, 17:18   #19
dreamish
 
Регистрация: 02.07.2009
Сообщений: 9
По умолчанию

Цитата:
По дефолту анонимное пространство имен (или как уж там оно правильно называется).
Это называется глобальное пространство имен.
dreamish вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
String t@t@rin Помощь студентам 3 09.11.2009 20:46
String (paskal) Veselyn Помощь студентам 3 09.11.2009 20:40
string и String ds.Dante Общие вопросы .NET 1 24.08.2009 13:26
String [] alexov Общие вопросы C/C++ 4 07.04.2009 20:43
string medik Помощь студентам 12 29.10.2007 17:33