C++:刚入门的你如何在朋友面前炫技

不像python , C++需要一套基本框架:

#include<iostream>
using namespace std;
int main()
{
    ...
    return 0;
}

让我们重新审视一下这个框架。

实际上,第一行是插入了一个名为iostream的头文件。

说白点,就是把iostream这个文件的内容复制到程序中。

而在Dev-c++中,我们可以把鼠标对准iostream,使用ctrl + 左键查看内容。

操作后,iostream库的内容如下:

//一大堆英文注释


#ifndef _GLIBCXX_IOSTREAM
#define _GLIBCXX_IOSTREAM 1

#pragma GCC system_header

#include <bits/c++config.h>
#include <ostream>
#include <istream>

namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION

  //又是一堆注释
  extern istream cin;		/// Linked to standard input
  extern ostream cout;		/// Linked to standard output
  extern ostream cerr;		/// Linked to standard error (unbuffered)
  extern ostream clog;		/// Linked to standard error (buffered)

#ifdef _GLIBCXX_USE_WCHAR_T
  extern wistream wcin;		/// Linked to standard input
  extern wostream wcout;	/// Linked to standard output
  extern wostream wcerr;	/// Linked to standard error (unbuffered)
  extern wostream wclog;	/// Linked to standard error (buffered)
#endif
  //@}

  // For construction of filebuffers for cout, cin, cerr, clog et. al.
  static ios_base::Init __ioinit;

_GLIBCXX_END_NAMESPACE_VERSION
} // namespace

#endif /* _GLIBCXX_IOSTREAM */

实际上,在作者的环境下,这个文件有79行。

也就是说,原本写1行的程序,现在能凑到80行(应该没人能一行写完吧)

但这还远远不够。

我们注意到,上面的9-11行分别又插入了三个头文件,所以我们可以直接复制:

#ifndef _GLIBCXX_OSTREAM
#define _GLIBCXX_OSTREAM 1

#pragma GCC system_header

#include <ios>
#include <bits/ostream_insert.h>

............

#include <bits/ostream.tcc>

#endif	/* _GLIBCXX_OSTREAM */

这是ostream的预处理部分(源文件有611行,删掉注释也有几百行)。

看到6、7、11行,又是三个头文件,头文件里还有头文件,麻了......

最后,我们把头文件展开,注释删掉,main函数放在最后就好。

注意,一般来说看到很长的代码时人的第一反应是震惊,然后一般会拉到最下边查看行数。

所以,可以把英文注释剪切到最下边或自己写一个头文件,把main函数放进去,插在程序最后。

总之,别让朋友发现就行!

另外,看我文章的人只有不到5%关注了我,

如果这对您有所帮助,请关注我。这是免费的,您随时可以取消,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起床气233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值