前言 先看一段代码 #ifndef _INLINE_H #define _INLINE_H template<typename T> static inline T my_max(T a, T b) { a *= 2; b /= 3; return (a>b) ? a : b; //找出最大值 } #endif 代码本身逻辑很简单,无外乎简单的找出两个T类型变量中大者. 这里有几个关键字的用法很值得深究,特此记录下感想. inline 简单的理解inline就是,他只有带参宏的优点,没有…
About why inline member function should defined in the header file. It is legal to specify inline on both the declaration and the definition. But the keyword inline must be placed with the function definition body to make the function inline. Just pu…
[Header File Dependencies] 什么时候可以用前置声明替代include? 1.当 declare/define pointer&reference 时. 2.当 declare static data member 时. 3.当 declare function 时.  So,下面这段代码会被正常编译通过: #include <stdio.h> class Point; struct Square { Point *pt; Point &ref; sta…
http://stackoverflow.com/questions/5849457/using-namespace-in-c-headers http://stackoverflow.com/questions/5849457/using-namespace-in-c-headers 這篇有解釋 避免在 header用 using namespace, 以免header被其他人include後 造成Conflict n all our c++ courses, all the teachers…
转载:https://www.cnblogs.com/emanlee/archive/2010/10/16/1852998.html 用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目或者在项目设置里关闭预编译头的选项! 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收…
. As the name suggests, they extend the class. A class continuation is another name. The class extension is commonly used to declare private methods and properties. You want the class extension to be visible to the @implementation, and not in the hea…
今天看到了这样一段代码, static inline BOOL IsEmpty(id thing) { return thing == nil || [thing isEqual:[NSNull null]] || ([thing respondsToSelector:@selector(length)] && [(NSData *)thing length] == ) || ([thing respondsToSelector:@selector(count)] && […
Putting the keyword static in front of a local variable declaration creates a special type of variable, a so-called static local variable. This variable keeps its value even after the method ends. The next time you call this method, the variable isn’…
#!/bin/bash # auto make System.map to C header file # 说明: # 该脚本主要是将Linux内核生成的System.map文件中的符号.地址存入结构体中, # 目前认为也许可以在内核驱动中直接调用对应的函数.以前在学习裸板开发中就有 # 使用Uboot中提供的printf来写程序的先例,那么这里应该也是可以的,不过这里没 # 有什么实用性,因为5W个函数,但这个结构体就要用掉进200kByte空间. # # -- 深圳 南山平山村 曾剑锋 ];…
1)单独编译StdAfx.cpp 2)编译所有(即按Ctrl+F7) 这时因为该模块没有包括预编译头文件“stdafx.h”的缘故.VC用一个stdafx.cpp包含头文件stdafx.h,然后在stdafx.h里包含大部分系统头文件,这样编译时VC就通过编译stdafx.cpp把大部分系统头文件预编译进来了,在Debug目录下有一个很大的文件*.pch,这里就存储了预编译信息.根据这个原理,如果这个pch损坏了或被删除了,系统重新编译时就会抱怨“cannot openprecompiled h…