Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
#1

Ввод значения в переменную типа string, память под которую выделена динамически - C++

29.06.2013, 12:51. Просмотров 513. Ответов 5
Метки нет (Все метки)

Ребят, подскажите пожалуйста, как организовать ввод значения в переменную типа string, память под которую выделена динамически?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<string>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    string *name_of_a_dog   = new string("");
 
    //КАК ОРГАНИЗОВАТЬ ВВОД ЗНАЧЕНИЯ В ПЕРЕМЕННУЮ ТИПА СТРИНГ, ВЫДЕЛЕННУЮ ДИНАМИЧЕСКИ? 
    //getline(cin, name_of_a_dog); //    так нельзя((
 
    delete name_of_a_dog;
 
    //string name = "Bill"; 
    //getline(cin, name);       //а почему-то со статическим можно
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2013, 12:51     Ввод значения в переменную типа string, память под которую выделена динамически
Посмотрите здесь:

Почему указатель теряет свои значения после выхода с метода, память выделена динамически - C++
#include &lt;iostream&gt; using namespace std; void sqr( int* a, int length ); int main() { int *a = new int; int length =...

По каким причинам память не может быть выделена динамически? - C++
Что это могут быть за причины?

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

Динамически выделить память под массив - C++
Задание было в следующем: дан вещественный двумерный массив А. Поменять местами максимальный элемент главной и побочной диагоналей с...

Динамически выделить память под массив - C++
Добрый день форусчани Как можно выделить память под массив объекта класса class Save_Colection { public: pk *field; ...

Динамически выделить память под массив функций - C++
QByteArray (SerfingThread::*lp_GetRequest)(const QByteArray&amp; ,const QByteArray&amp;); как сделать тоже самое только через new? как правильно...

Не могу удалить динамически выделенную память под массив - C++
Здравствуйте. Изучил сегодня динамическое выделение памяти и не могу ее удалить. Подскажите где ошибка и, если возможно, объясните почему...

Ввод с клавиатуры в string переменную - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;map&quot; #include &quot;algorithm&quot; int _tmain(int argc, _TCHAR*...

Динамически выделить память под верхний треугольник квадратной матрицы - C++
прога все считает, но в конце выдается системная ошибка... я пришел к выводу, что ошибка - в выделении памяти под верхний треугольник...

Выделить память под переменную - C++
объявляет переменные и выделяет память под них как в с++ ?? обьявить переменную и выделить ей память?

Можно ли динамически выделить память под массив указателей, на объекты класса? - C++
Прошу прощения если не правильно назвал вопрос. Не знаю как правильно сформулировать. Можно ли строчку VisualizationTools* VT; заменить...

Чтение из файла в переменную типа string - C++
Добрый вечер! :) Вот делаю программу в одном из элементов которой нужно прочесть из файла в переменную типа string имя продукта так вот я...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
29.06.2013, 12:59     Ввод значения в переменную типа string, память под которую выделена динамически #2
str - Указатель - адрес. Чтобы получить доступ к значению нужно разадресовать(добавить *)
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main(){
  std::string *str = new std::string("");
  std::getline(std::cin, *str);
  std::cout << *str << std::endl;
  delete str;
  
  std::cin.get();
  return 0;
}
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
29.06.2013, 15:50     Ввод значения в переменную типа string, память под которую выделена динамически #3
Цитата Сообщение от DPS Посмотреть сообщение
string *name_of_a_dog * = new string("");
Зачем вообще так делать?
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
29.06.2013, 17:22  [ТС]     Ввод значения в переменную типа string, память под которую выделена динамически #4
Цитата Сообщение от 0x10 Посмотреть сообщение
Зачем вообще так делать?
Это у меня так в конструкторе класса строка инициализируется. Здесь я просто это вынес, чтоб не было лишнего кода. Вроде в книжках пишут что по возможности инициализацию необходимо производить...)
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
29.06.2013, 17:32     Ввод значения в переменную типа string, память под которую выделена динамически #5
Под std::string не нужно выделять память с пом. new, это нонсенс, лишние затраты на выделение памяти.
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
29.06.2013, 17:37  [ТС]     Ввод значения в переменную типа string, память под которую выделена динамически #6
Ничего себе) Спасибо, впредь буду знать.
Yandex
Объявления
29.06.2013, 17:37     Ввод значения в переменную типа string, память под которую выделена динамически
Ответ Создать тему
Опции темы

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