zoukankan      html  css  js  c++  java
  • C++基本入门资料搜集

       目前做项目主要使用C#语言,可是发现C#开源的东西实在太少了,而且都是“二手货”。所谓的二手货,就是参照原作者的思路,以及其代码,其他人实现的。这样的二手货,一般都存在问题:要么功能不完整,要么就是C#改编者没有切实领会到原作者的思想。再考虑到C++的应用前景,及其实用的广泛性,打算深入学习下C++。怎么学?把《C++ Primer》从头看到尾,估计看完也忘了。最好的方法还是看大牛的算法,然后再去研究语言特性,即不懂的地方再google和查书。考虑到目前需要研究下聚类算法,所有就先拿洞庭散人的那篇<C++实现的K-means开刀吧>。考虑以后一边研究北大老师李晓明《搜索引擎--原理、技术、与系统》一书中的配套系统(TSE)Tiny Search Engine 的C++源码,一边学习C++语言特性。

    #pragma once 的意思

    以前写的,翻出来看看  
       
      在vc6的时代头文件一般使用ifndef   define   endif  
      在vc7的时代头文件一般成了pragma   once  
      不知道有没有人深究其中的意义  
      为什么有这样的代码,是为了头文件不被重复引用,那样编译器抱错的,这两种方法都是同样的目的,有没有区别呢?  
      还是举例来说明,可能有好几个库,每个库内部可能都有public.h这个文件,如果使用  
      ifndef   public_h  
      define   public_h  
      ...  
      endif  
      那么当一个文件同时引用两个这样的库时,后一个库里的文件就不被编译了,而pragma   once可以保证文件只被编译一次  
      看起来pragma   once比ifndef   define   endif要好,那么ifndef   define   endif  
      的地方都pragma   once好了。今天碰到了又一个例子,比如你有一个zlib.h在几个库都用到,而为了方便,把zlib每个目录下copy了一分,因为这个文件不会作修改,已经很完整了,这个时候如果使用pragma   once,就会重复定义,看来ifndef   define   endif还是又派上用场的地方。  
      所以对于公有或者接口的文件,使用ifndef   define   endif,对于内部的文件使用pragma   once.  
       
      呵呵,你压根儿用不着是吧,当我没说过。

  • 相关阅读:
    close 不弹出对话框
    ASP.NET会话(Session)保存模式
    ASP.NET页面刷新后滚动条保留在刷新前的位置 MaintainScrollPositionOnPostback
    CSS实现垂直居中的5种方法
    ExpandStackTrace
    HttpTunnel
    PropertyAccess类 Linq.Expressions 实现
    DatagramResolver
    AsyncUdpClient 类
    C# LockFreeStack类
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1709600.html
Copyright © 2011-2022 走看看