Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: exp   (24.12.2008 в 16:42)
strcpy() и взаправду удобнее :)

насчёт [] или не [] , чем докажите?)
тут был аргумен в пользу []
, т.к. некоторые компиляторы могут ругаться если не [], а str = "..." у меня только работает если *str="..." :)

str[] ="" однозначно удобнее ;) её sizeof'ом хоть померить можно всё остальное похоже просто указатели
#include <iostream>
#include <malloc.h>
#include <conio.h>
using std::cout;

int main()
{
  char * str = new char[200];
  char * str4 = ( char * ) calloc( 200, sizeofchar ) );
  strcpy( str, "hello" );
  strcpy( str4, "hello" );
  cout << sizeof str << " " << sizeof *str << " " << sizeof &str 
<< " == str\n" << sizeof str4 << " " << sizeof *str4 << " " << sizeof &str4 << " == str4\n";

  char * str2 = "helloworld";
  cout << sizeof str2 << " " << sizeof *str2 << " " << sizeof &str2 << " == str2\n";
  char str3[] = "helloworld";
  cout << sizeof str3 << " " << sizeof *str3 << " " << sizeof &str3 << " == str3\n\n"

  << str2 << " " << str3 << "\n" << str4 << "== str4\n" << str << "== str\n\n";

free( str4 );
  cout << str4 << " == str4\n";

  delete str4;
  cout << str4 << "== str4\n";

  delete[] str;
  cout < < str << "== str\n";

  delete str;
  cout << str << "== str\n";

  getch();
  return 0;
}
а delete[] str; и delete str; очень похожи на одно и то-же
, даже одно и тоже после них извлекается из указателя


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: