9 yongjunhe

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 10w+

C/C++:头文件与cpp文件的声明/定义

一、头文件1、 一般来说,头文件仅仅用于声明,相应的定义要放在对应的cpp文件中。  声明的内容一般可以是:1. 类定义体;2.类中的成员方法; 3. 类外的函数; 4. 类外的变量;5. 类型。  一个文件(比如main.cpp)包含(#include)了一个头文件(比如item.h),就相当于声明了Item.h中声明的所有内容。2、但是const常量,inline函数,static函数...

2020-03-16 16:45:50

C/C++ #define的作用域

#define macro的作用域有点类似于C/C++全局静态变量编译器处理宏的时机是预处理阶段 编译器按文本顺序处理 遇到宏时就定义一个宏变量假设这种情况void test() {#define MACRO 1}int main() {#ifdef MACRO// do some thing#endif}main函数也是看得到MACRO宏的 因为文本顺序上test在...

2019-07-25 17:33:04

linux C/C++服务器后台开发面试题总结

一、编程语言1.根据熟悉的语言,谈谈两种语言的区别?主要浅谈下C/C++和PHP语言的区别:1)PHP弱类型语言,一种脚本语言,对数据的类型不要求过多,较多的应用于Web应用开发,现在好多互联网开发公司的主流web后台开发语言,主要框架为mvc模型,如smarty,yaf,升级的PHP7速度较快,对服务器的压力要小很多,在新浪微博已经有应用,对比很明显。2)C/C++开发语言,C语...

2018-08-04 07:38:56

如何在Linux上实现文件系统的自动检查和修复?

平常Linux管理方面最重要的任务之一就是,检查文件系统的完整性。Linux文件系统有可能在各种各样的情况下受到损坏,比如系统崩溃、突然断电、磁盘断开,或者文件节点(i-node)不小心被覆盖等等。因此,定期检查文件系统的完整性是个好主意,以便尽量减小文件系统受到损坏的风险。而说到检查和修复Linux文件系统,fsck是一款实用的工具。我在本教程中将介绍如何借助fsck工具,实现文件系统的

2016-10-13 16:14:49

Linux下修改文件的时间属性

用法:1. 同时修改文件的修改时间和访问时间touch -d "2010-05-31 08:10:30" test.doc2. 只修改文件的修改时间touch -m -d "2010-05-31 08:10:30" test.doc3. 只修改文件的访问时间touch -a -d "2010-05-31 08:10:30" test.doc

2014-10-23 19:46:01

Qt之中文显示(QMessageBox、QLineEdit右键菜单等)

在编写Qt程序的时候,总会碰到中文问题,一直都很困惑,原本在使用QLineEdit的时候总会出现右键英文的情况,开始的时候是将邮件功能屏蔽掉。使用setContextMenuPolicy(Qt::NoContextMenu)来设置无右键菜单,但是后来发现这虽然省事,但是有不足之处,密码框可以没有右键菜单、不可复制、粘贴,但是普通的文本框还是得需要此项功能的,所以就摸索着如何实现,做起来也很是简单!

2014-03-07 15:21:04

QCompleter自动补全

知识永远是那么多,想到什么就总结什么,今天记录一下关于我对QComplete的一些小见解。官方文档中叙述如下:    可以在任何Qt的窗口小部件中使用QCompleter提供自动补全功能,如:QLineEdit和QComboBox。当用户开始输入一个字符,QCompleter根据单词列表提示完成单词。这个单词列表是作为一个QAbstractItemModel被提供的(对于简单的应用

2014-03-07 14:53:57

使用VS2008动态编译并发布qt

用QT的默认安装,把生成的release下的exe文件,和下面几个核心文件放在一个文件夹里:QTGUI4.DLLQTCORE4.DLL文件在X:\Qt\4.7.1\bin目录中,切忌是对应Qt版本的dll,笔者就曾因此出现发布的程序点击没反应的情况,纠结了良久。VS2008编译程序运行时需要的几个dll文件Microsoft.VC90.CRT.man

2013-07-06 22:11:14

C++一些注意点之型别转换

命名的强制类型转换符号的一般形式如下:                   cast_name(expression);其中, cast_name可以为dynamic_cast、static_cast、const_cast和reinterpret_cast的一种,type为转换的目标类型,而expression则是被强制转换的值。下面分别讲一下他们的具体含义。1、const

2013-06-13 11:39:52

编写高效的C++程序方法之使用对象池

对象池技术可以避免在程序的生命期中创建和删除大量对象。如果知道程序需要同一类型的大量对象,而且对象的生命周期都很短,就可以为这些对象创建一个池(pool)进行缓存。只要代码中需要一个对象,就可以向对象池请求.用完此对象时,要把它放回池中。对象池只创建一次对象,因此它们的构造函数只调用一次,而不是每次使用时都调用。因此,当构造函数要完成一些设置动作,而且这些设置可以应用与该对象的多次使用时,对象池就

2013-06-06 20:27:53

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面

2013-06-06 15:39:46

C++Vector的使用误区

初始化vector并传引用到DLL中,DLL中为该引用添加节点,vector内存释放时会报堆栈错误,原因?这个问题其实挺好避免的,说白了就是不要一个模块new,另一个模块delete,不要认为你的vector的节点数据在栈上,vector的本质就是一个变长数组,怎么会在栈上呢,数据肯定是在堆上的,这样你就是在dll中申请的存储,在主程序里面释放的存储,出错很正常。原因简要的分析一下

2013-06-06 13:25:13

C/C++语言二维数组的传参方法总结

原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8886687,作者:gqb666C/C++语言将二维数组作为参数传递容易使人迷惑且易出错,本文将常用的几种方法列出,以方便用时查阅。三种方法总结如下(GCC验证成功):方法一:形参为二维数组并给定第二维长度 此方法是最简单最直观的方法,形

2013-05-07 15:19:43

STL中的内存分配器原理

题记:内存管理一直是C/C++程序的红灯区。关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。另一类是内存管理的实现,如linux内核的slab分配器,STL中的allocator实现,以及一些特定于某种对象的内存管理等。最近阅读了一些内存管理实现方面的

2013-05-02 14:48:55

C语言指针声明探秘

前言我对C指针的理解一直停留在:指针本身是一块内存,它保存了一块内存的地址,可以引用,但是最近在读代码的时候,各种指针的声明搞得我异常苦恼,赶紧去学习了一番,也只是明白了最基本的使用,总结如下。基本知识指针的基本使用正如前言中说的,先看这样一段代码:[cpp] view plaincopy#include     int

2013-04-22 21:49:53

安全的代码之内存的申请和释放

计算机的程序由代码和数据构成,一个程序占用的内存可以分为代码段和数据段,而数据区又分为常量存储区、静态存储区、堆和栈。这里主要讨论一下堆内存和栈内存。栈内存由自动申请和释放,所申请的内存在变量作用域内有效,退出变量作用域时被释放,这个过程由编译器来完成,安全系数相对较高,效率较堆内存高。堆上的内存由程序员显式的申请并显式的释放,如果只申请不释放,便会造成内存泄露,申请后重复释放,则会造成程序崩

2013-04-21 22:58:24

C库函数手册

分类函数,所在函数库为ctype.hint isalpha(int ch)  若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch)  若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')                     返回非0值,否则返回0int isascii(int ch)  若ch是字符(ASC

2013-03-21 10:24:36

C/C++ 取整函数ceil(),floor()

#include  double floor(double x); float floorf(float x); long double floorl(long double x);double floor(double x);double ceil(double x);使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:     floo

2013-03-21 09:28:28

C++通过DLL调用C#代码

本文将介绍C++中通过DLL来调用C#代码。首先建立C#的“类库”工程CShapeDLL。然后输入如下代码:[csharp] view plaincopy//C++通过DLL调用C#代码  //http://blog.csdn.net/morewindows/article/details/8678431  //By More

2013-03-19 19:29:48

专业程序员必知必会的技巧:驯服复杂代码

你从入职第一天起就要应对复杂代码。若是还未遇到过无法理解的程序,那说明你编程的年头还不够长。在行业里,要不了多久你就会碰到让人发懵的混乱代码:巨兽、面条工厂、来自地狱的遗留系统。我曾接手过一个程序,它的前任在听说要增加一个分量不轻的新特性时,选择了辞职。(我并不怪他。)软件系统的复杂度是不可避免的。有些问题就是很难,它们的解决方案很复杂。然而,你在软件中找到的大多数复杂度是

2013-03-18 18:21:18

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv4
    阅读者勋章Lv4
    授予在CSDN APP累计阅读博文达到90天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取