Я новичок в C ++ и теперь изучаю, как работают cin и cout. Дело в том, что, как вы можете видеть в приведенном ниже коде, я создаю string
и char *
, чтобы сравнить способ C чтения строки и способ C ++. В C ++ имеет смысл, что если я создаю строку, я беспокоюсь о том, чтобы установить для этой строки значение NULL?
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#define SIZE 10
using namespace std;
int main () {
cout << "Write Something: \n";
string f1;
char *p;
p = (char *) malloc(SIZE); // This is how I will use it in c
getline(cin, f1);
cout << "Write Something else: \n";
scanf("%s", p);
cout << f1 << "1\t";
printf("%s2\n", p);
free(p);
p = NULL; // After the pointer has been freed, we set it to NULL
cout << "p freed\t";
f1.clear();
cout << "f1 deleted\t";
return 0;
}