2016-05-21 6 views
-4

Как видно из самого вопроса, я новичок в C++, а также указатели и динамическое распределение памяти.Как сохранить массив символов динамически?

Я хочу знать, как я могу прекратить использовать статические строки, как

char str[200]; 

и должны иметь возможность принимать ввод до тех пор, пока пользователь нажимает кнопку ввода?

Я знаю, что это можно сделать с помощью «нового», и я бы освободил память, используя «delete» , но я не могу придумать, как это реализовать.

Пожалуйста, будьте вежливыми :), и я знаю о std::string, но просто хочу знать, как я могу реализовать вышеупомянутую проблему самостоятельно.

+1

http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list – user2296177

+0

Один из самых полезных навыков в программировании, чтобы знать, как **поиск**. http://www.cplusplus.com/doc/tutorial/pointers/ http://www.cplusplus.com/doc/tutorial/dynamic/ – PcAF

+0

Для тех, кто заботится и пытается разобрать этот вопрос: я пробовал прочитать это несколько раз, и, в конце концов, единственный разумный квест, который я мог распознать, питался фразой: «... Я знаю, что это можно сделать с помощью« нового », и я бы освободил память, используя« delete », но я не могу придумать способ реализовать это ». *, который, как я считаю, является запросом, чтобы показать, как использовать' new/delete' для управления строковым буфером. – WhozCraig

ответ

3

Начинающим C++ не нужно использовать указатели, new/delete или массивы. Фактически, многие эксперты также избегают их использования. Просто держать вещи простыми

std::string name; 
std::cout << "What is your name?" << std::endl; 
std::getline(std::cin, name); // read a line from std::cin (standard input) 
std::cout << "Hello, " << name << std::endl; 
+1

Последний параграф вопроса: * Я знаю о std :: string, но просто хочу знать, как я могу реализовать выше упоминание проблемы самостоятельно *. – PcAF

+0

Я видел это. Возможно, я, возможно, неправильно понял контекст вопроса. Либо, вопросник просто хочет использовать строки простым способом, изучая основы C++; или же спрашивающий просто интересует, как реализована «строка». –

+0

, пожалуйста, дайте мне реализацию, отдохните, я сам все выясню, я не забочусь о нижних головах по моим вопросам. –

Смежные вопросы