LINUX.ORG.RU

понять Си

 , ,


3

2

посоветуйте, что почитать для поверхностного понимания философии языка Си.
я вот экспериментирую (Си+ООП из C++), решил сделать банальную функцию, возвращающую строку с датой:

char* sh_time::getTimeString() {
  time_t t = time(0);
  struct tm * now = localtime( & t );
  //(*s) << printf("%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
  size_t sz;
  sz = snprintf(NULL, 0, "%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
  s = (char *)malloc(sz + 1);
  snprintf(s, sz+1, "%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
  return(s);
}

плюс отдельная функция, делающая free(s).
это у языка такая фишка - каждый на ровном месте огород городит - или же для подобных задач есть стандартизированные пути решения? (я не про готовые функции, а про традиционные способы решения задач)

★★★

Последнее исправление: CYB3R (всего исправлений: 4)
Ответ на: комментарий от Dron

скажи ка, а где ты про это прочитал?

я посмотрел на си, посмотрел на плюсы, решил, что мне нужно ООП, но не нужна бредятина, как те же streams.

batekman ★★★
() автор топика
Ответ на: комментарий от batekman

я посмотрел на си, посмотрел на плюсы, решил, что мне нужно ООП, но не нужна бредятина, как те же streams.

Посмотри на Objective-C.

Dron ★★★★★
()
Ответ на: комментарий от Dron

слышал про такое, но на статье в википедии куча упоминаний apple, поэтому решил не трогать.

batekman ★★★
() автор топика
Ответ на: комментарий от batekman

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

arturpub ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.