随笔分类 -  C/C++

1 2 下一页
哈希中的那些序问题
摘要:几乎所有语言都会内置哈希表这一数据结构,其实就是一个哈希函数,配合数组和链表实现,会存在数组的重新动态分配的过程。[reference] 哈希表一般会被实现成两种形式,即所谓的Map和Set,基本上可以认为Set是只利用了Key值信息的Map,例如Java的HashSet就是基于HashMap实现的 阅读全文
posted @ 2019-09-29 16:04 MicN 阅读(447) 评论(0) 推荐(0)
把所有时间用来做你最应该做的事,用尽全力竭尽所能成为DL and NLP大神。
摘要:两段代码,JAVA and CPP,输出相同结果: 前几天自己在QQ群中发的公告: 首先,还是那句老话,编程最重要的是实践,这是无数大神苦口婆心说的经验,你上面代码中写的,接口默认方法,虚继承(many mystery),多继承甚至你一万年以内都不会用到,总是想这些什么卵用都没有,编程能力得不到丝毫 阅读全文
posted @ 2018-01-05 21:12 MicN 阅读(212) 评论(0) 推荐(0)
【转载】 C++多继承中重写不同基类中相同原型的虚函数
摘要:本篇随笔为转载,原文地址: C++多继承中重写不同基类中相同原型的虚函数。 在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数。下面就是一个例子: class CBaseA { public: virtual void TestA(); }; class CBaseB { public: 阅读全文
posted @ 2017-01-01 20:45 MicN 阅读(1332) 评论(0) 推荐(0)
C++:名字查找先于类型检查
摘要:Sub-Title: Name Hiding。 "In C++, there is no overloading across scopes - derived class scopes are not an exception to this general rule." 这是C++之父 Bjar 阅读全文
posted @ 2016-12-05 17:02 MicN 阅读(704) 评论(0) 推荐(0)
【转载】二维数组的动态分配和参数传递
摘要:本篇随笔为转载,原贴地址:http://www.cnblogs.com/bigshow/archive/2009/01/03/1367661.html。 1. C语言动态分配二维数组 (1)已知第二维 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(si 阅读全文
posted @ 2016-12-04 21:59 MicN 阅读(386) 评论(0) 推荐(0)
继承和多态的“真相”
摘要:1. 这篇随笔解决的所有疑惑和灵感都是来自于知乎上这位前辈的一段话:知乎。 2. 关于继承的问题,其实关键点就是子类的对象有没有继承父类的对象的私有变量,关于这一点,答案毫无疑问,是包含的,而且子类对象包含父类所有成员 是父类指针指向子类对象的基础,是多态的前提。但是仅仅能够通过父类提供的接口(pu 阅读全文
posted @ 2016-11-27 22:48 MicN 阅读(236) 评论(0) 推荐(0)
细节问题(三)
摘要:1. 再论左值与右值 以前写过关于左值和右值的两篇总结,这里还需要再补充一点。那天在知乎看到Milo大神的这样一个回答:知乎。 自己也去查了文档,cppreference也清楚地指出:赋值操作在C++和C语言中确实是不一样的,在C++中返回左值(而且是引用)。 所以(a = b) = 1这样的表达式 阅读全文
posted @ 2016-10-24 20:44 MicN 阅读(329) 评论(0) 推荐(0)
【转载】new和malloc的区别
摘要:本篇随笔为转载,原贴地址:C++中new和malloc的十点区别。 前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老生常谈的问题。当时我回答new从自由存储区上分配内存,malloc从堆上分配内存;new/delete会调用构造函数/析构函数 阅读全文
posted @ 2016-10-01 17:25 MicN 阅读(190) 评论(0) 推荐(0)
细节问题(二)
摘要:1. 关于C++中的宏定义,宏展开还是有一些奇淫技巧的。参考:#define命令的一些高级用法。 2. 宏定义更多的还是用于预编译处理中,就是为了防止头文件被重复包含那种。 3. 关于C++中头文件、库函数、命名空间的关系 知乎上有人这样说道:头文件是编译时编译器的预处理部分要用的,库文件是链接器要 阅读全文
posted @ 2016-10-01 15:36 MicN 阅读(300) 评论(0) 推荐(0)
原码、反码、补码
摘要:那天被同学问到了C++ Primer下面这一段话的含义: 就是将一个负数赋值给一个无符号数,会发生什么? 其实是一个很简单的问题,关键是书中的 “the remainder of the value modulo the number of values the target type can ho 阅读全文
posted @ 2016-09-28 18:16 MicN 阅读(398) 评论(0) 推荐(0)
细节问题
摘要:1. 关于C++中的const int** foo的含义 reference : stackoverfolw。 2. C++中的底层const与顶层const 使得被修饰的变量本身无法改变的const是顶层const,其他的通过指针或引用等间接途径来限制目标内容不可变的const是底层const。 阅读全文
posted @ 2016-09-13 22:35 MicN 阅读(219) 评论(0) 推荐(0)
【转载】C++ function、bind和lambda表达式
摘要:本篇随笔为转载,原贴地址:C++ function、bind和lambda表达式。 本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解 阅读全文
posted @ 2016-09-06 23:20 MicN 阅读(361) 评论(0) 推荐(0)
C++中的左值与右值(二)
摘要:以前以为自己把左值和右值已经弄清楚了,果然发现自己还是太年轻了,下面的这些东西是自己通过在网上拾人牙慧,加上自己的理解写的。 1. 2. 怎么区分左值和右值:知乎大神@顾露的回答。 3. 我们不能直接定义一个引用的引用。但是,通过类型别名或通过模板类型参数间接定义是可以的。 引用折叠只能应用于间接创 阅读全文
posted @ 2016-09-06 17:24 MicN 阅读(4476) 评论(0) 推荐(0)
【转载】C++ IO库
摘要:本篇随笔为转载,原贴地址:《C++ Primer》第8章 IO库 学习笔记。 1.IO类 fstream和sstream都继承于iostream,所以iostream有的操作他们都有。 另外流前面加字母w表示针对宽字符。 2.IO对象无拷贝和赋值 错误,不能拷贝和赋值 因为流不能拷贝和赋值,所以流作 阅读全文
posted @ 2016-09-04 14:52 MicN 阅读(1774) 评论(0) 推荐(0)
【转载】初始化顺序
摘要:原贴地址:类的成员变量初始化总结,初始化顺序,Java与C#类初始化顺序。 some experience: 学习编程要分为两个层面:第一个层面,就是撸代码,随心所欲地撸代码,撸漂亮的代码,这是一个很爽的过程。 第二个层面,就是看书,理论知识以及原理的了解掌握,语言为什么这样设计,程序运行的过程是怎 阅读全文
posted @ 2016-08-01 14:46 MicN 阅读(174) 评论(0) 推荐(0)
primer看完了
摘要:放假这将近十天吧,终于把C++ Primer中文版第五版大致看完了,然而第四部分(高级主题)还是没有看,感觉那是需要有足够的项目经验再看。 另外,看一遍肯定不够,忘得也会很快,我十分确认今后还会很多次翻出这本 “圣经” 来翻阅。 这十天看的东西有:IO标准库设施,顺序容器,泛型算法,关联容器,智能指 阅读全文
posted @ 2016-07-20 22:51 MicN 阅读(292) 评论(0) 推荐(0)
【转载】#pragma once与#ifndef
摘要:本篇随笔为转载,原贴地址:#pragma once与#ifndef解析 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: # 阅读全文
posted @ 2016-07-19 18:15 MicN 阅读(210) 评论(0) 推荐(0)
C++中的左值与右值
摘要:一. constexpr和常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常量表达式。 一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定,例如: 尽管s 阅读全文
posted @ 2016-07-18 00:05 MicN 阅读(7499) 评论(0) 推荐(0)
【转载】C++ 11中的右值引用
摘要:本篇随笔为转载,原博地址如下:http://www.cnblogs.com/TianFang/archive/2013/01/26/2878356.html 右值引用的功能 首先,我并不介绍什么是右值引用,而是以一个例子里来介绍一下右值引用的功能: #include <iostream> #incl 阅读全文
posted @ 2016-06-25 21:40 MicN 阅读(242) 评论(0) 推荐(0)
Java和C++中的static
摘要:1.Java类中的static变量和static方法会在类装载的过程中就得到内存分配,然后就会进行初始化工作。最多可能会被初始化3次,静态代码块的执行在main方法之前。 static变量不可以在构造函数中进行初始化。 而普通的成员变量会在new一个对象的时候才得到初始化,最多的话可能会被初始化4次 阅读全文
posted @ 2016-04-28 19:50 MicN 阅读(1777) 评论(0) 推荐(0)

1 2 下一页