Сборка мусора переоценена
Многие считают, что сборка мусора в Java - одно из самых больших улучшений по сравнению с C ++. Я считаю, что введение в лучшем случае очень незначительное, хорошо написанный код C ++ выполняет все управление памятью в нужных местах (с помощью таких методов, как RAII), поэтому сборщик мусора не требуется.
Используйте isatty ()
:
$ man isatty
ISATTY(3) Linux Programmer's Manual ISATTY(3)
NAME
isatty - does this descriptor refer to a terminal
SYNOPSIS
#include <unistd.h>
int isatty(int desc);
DESCRIPTION
returns 1 if desc is an open file descriptor connected to a terminal
and 0 otherwise.
Поскольку stdout
всегда является дескриптором файла 1, вы можете сделать:
if(isatty(1))
// stdout is a terminal
if (isatty (1))
fprintf (stdout, "Outputting to a terminal.");
else
fprintf (stdout, "Not outputting to a terminal.");