关闭
当前搜索:

c++实现解析文件路径

注意:本实现只能解析类似linux下的路径,即“/data/a.txt”,而不能解析“c:\a.txt” 或者“c:\\a.txt”,但是应该很容易扩展改写实现此功能。 FilepathParse.h #include using std::string; void parseFilepath(string filepath, string &path, string &filen...
阅读(752) 评论(0)

C++ STL中set底层实现方式

Q:STL中set底层实现方式? 为什么不用hash? A: 第一个问题:set底层实现方式为RB树(即红黑树)。     第二个问题:     首先set,不像map那样是key-value对,它的key与value是相同的。关于set有两种说法,第一个是STL中的set,用的是红黑树;第二个是hash_set,底层用得是hash table。红黑树与hash table最大的...
阅读(1608) 评论(0)

C++中虚析构函数的作用

C++中的虚析构函数到底什么时候有用的,什么作用呢。 总的来说虚析构函数是为了避免内存泄露,而且是当子类中会有指针成员变量时才会使用得到的。也就说虚析构函数使得在删除指向子类对象的基类指针时可以调用子类的析构函数达到释放子类中堆内存的目的,而防止内存泄露的。 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: ...
阅读(424) 评论(0)

c++ 虚函数的实现机制

转载自:http://blog.csdn.net/jiangnanyouzi/article/details/3720807 1、c++实现多态的方法 其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下: class...
阅读(310) 评论(0)

fatal error LNK1169: 找到一个或多个多重定义的符号 的解决方案

昨天,尝试一个项目,遇到了如下的问题。先来还原一下: 头文件test.h #pragma once #include #include using namespace Eigen; using namespace std; class point2 { public: point2(int x1,int y1):x(x1),y(y1){} point2& operator+...
阅读(2278) 评论(0)

C++给函数传数组参数C++给函数传数组参数

C++给函数传数组参数 在C++中,如果要给一个函数传入一个数组,一般都是传入两个参数一个数组指针和一个数组大小 例: void print_1 (int n, int *datas ) {     for (int i = 0; i     {         std::cout     }     std::cout } 对这个函数,我们可以这样...
阅读(368) 评论(0)

C++标准库与Java基础类对照表

一、集合类  对象的集合,指如链表,数组,队列这一类的数据结构。在C++标准库中把这些成为Container, 在Java中称为Collection。   C++STL常用Container: vector, list, map, set, queue, stack, priority_queue Java基础类:ArrayList, HashMap, HashSet ...
阅读(543) 评论(0)

fwrite,fread and fprintf,fscanf的一些使用体会

这周一直在完成一个任务,就是将训练出的多个model写成一个model。其中我们使用了c语言的读写方法,搞了一星期, 挖了很多坑,最终都铲平了。下面列举出若干有用的知识。 1.fwrite,fread VS fprintf,fscanf的区别 fwrite,fread 读写的时候,我发现不管使用FILE* pFile = fopen(“myfile.bin”, “wb”);无论是使用“wb”还是...
阅读(2135) 评论(0)

C++ limits头文件的用法(numeric_limits)

初学C++的时候,对这个模板很陌生,不知道它到底是做什么用的,今天拿起《C++标准程序库》,出现了它的讨论,所以决定好好研究一番。 1. numeric_limits是什么? (A)《C++标准程序库》: 一般来说,数值型别的极值是一个与平台相关的特性。C++标准程序库通过template numeric_limits提供这些极值,取代传统C语言,所采用的预处理常数。新的极值概念...
阅读(669) 评论(0)

变长参数

转载自:http://blog.csdn.net/tht2009/article/details/7019635    变长参数  设计一个参数个数可变、参数类型不定的函数是可能的,最常见的例子是printf函数、scanf函数和高级语言的Format函数。在C/C++中,为了通知编译器函数的参数个数和类型可变(即是不定的、未知的),就必须以三个点结束该函数的声明。 // print...
阅读(436) 评论(0)

mutable、volatile的使用

(1)mutable        在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。 struct ST { int a; mutable int b; }; const ST st={1,2}; st...
阅读(435) 评论(0)

求二叉树的深度和宽度

// 求二叉树的深度和宽度.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include #include using namespace std; struct BTNode { char m_value; BTNode *m_left; BTNode *m_right; }; //先序创建二叉树 void Cre...
阅读(985) 评论(0)

strcpy_s、sptintf_s与strcat_s的使用

strcpy_s、sptintf_s与strcat_s是strcpy、sptintf与strcat的安全版本,均是通过指定缓冲区长度来避免存在的溢出风险。 strcpy_s 与strcpy strcpy_s和strcpy函数的功能几乎是一样的。strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的...
阅读(892) 评论(0)

C++类的内联成员函数应放在哪

今天复习C++ Primer的时候,看到了关于C++类的内联成员函数的放置,应该放在头文件中。那么这到底是为什么 呢?仅仅是一种代码规范问题还是必须这样做呢? 下面我就来讲讲我自己的理解吧。要彻底理解这个问题,首先就要了解下函数的声明和定义了。我们知道,函数可以 在多处声明,但只能在一个地方定义,不然就会出现重定义。大部分函数默认是外部链接,而inline函数默认为内部链 ...
阅读(643) 评论(0)

十月读书心得

1.sizeof与strlen的区别。 #include using namespace std; void main() { cout << sizeof("hello") << endl; }答案: 6 原因: “hello”={‘h’,'e','l','l','o','\0'};共六个字节。 那么sizeof与strlen有什么区别呢? 总结起来: 1). sizeof ...
阅读(607) 评论(0)
74条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:284117次
    • 积分:4121
    • 等级:
    • 排名:第8689名
    • 原创:117篇
    • 转载:82篇
    • 译文:8篇
    • 评论:106条
    个人网站
    最新评论