什么C ++函数应该返回?

时间:2012-12-17 14:51:56

标签: c++ time-t

我有以下代码片段:

 time_t data1 = time(0)+86400; 
 struct tm * data_emprestimo = localtime( & data1 );
 cout << "Hoje: " << data_emprestimo->tm_mday << '/' << (data_emprestimo->tm_mon + 1) << '/' << (data_emprestimo->tm_year + 1900) << endl;

效果很好。

但是我想知道我应该在一个函数中返回什么样的cout echos和变量:struct tm?只是?阵列?字符串?

我尝试过这样的事情:

struct tm retornaData(int segundosAdd);
            ...
            ...
struct tm retornaData(int segundosAdd){
   return data_emprestimo;
}

但它不起作用。

我已经搜索了很多内容!

2 个答案:

答案 0 :(得分:0)

struct tm * data_emprestimo

声明一个指向结构的指针,因此要将结构本身作为值返回,需要取消引用指针return *data_emprestimo;

答案 1 :(得分:0)

在我看来,您希望编写一个返回日期字符串表示形式的函数。

在c ++中,std :: string将是字符串数据的自然返回类型。 更多C风格的方法可能会建议你传入一个char *作为你希望打印日期的缓冲区 - 通常std :: string被认为是一种更干净,更强大的方法。