C++ 引用类型

说到引用,先来讲一个故事:我们生活的院子里有这样一个小盆友,他的名字叫罗XX,我们喜欢给他起一个外号,看着他营养不太好,脑袋比较大、身子比较小,于是我们就给他起了一个叫"萝卜头"的外号。那么罗XX就是他的真实姓名,萝卜头就是...

viewport 深入理解

在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或响应各种不同分辨率的移动设备。 一、viewport的...

Scala 使用 Option、Some、None,避免使用 Null

避免 null 使用 大多数语言都有一个特殊的关键字或者对象来表示一个对象引用的是"无",在 Java,它是 null。在 Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的。但是这对语言设计者来说是一件令人疑惑的选...

React 点击事件的 bind(this) 传参问题

本文为大家介绍 React 中的点击事件如何传参。 问题描述 先来看一下问题的描述吧。如下图: 那么我该怎么解决这个问题呢? 以下是 HTML 代码,clickFunction 是点击事件函数,thisStatus 是要传递的参数: <div onClick={t...

C/C++ 中 volatile 关键字详解

1、为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明: A volatile specifier is...

Python 函数装饰器

装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你...

利用 strlen 和 sizeof 求取字符串长度注意事项

首先,strlen 是函数,sizeof 是运算操作符,二者得到的结果类型为 size_t,即 unsigned int 类型。大部分编译程序在编译的时候就把 sizeof 计算过了,而 strlen 的结果要在运行的时候才能计算出来。 对于以下语句: char *st...

Java 转型问题

Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。 什么叫父类引用指向子类对象,且听我慢慢道来。 从 2 个名词开始说起:向上转型(upcasting) 、向下转型(downcasting)。 举个例子:有2个类,Father 是父类...

Python2.x 和 Python3.x 中 raw_input( ) 和 input( ) 区别

1、在 Python2.x 中 raw_input( ) 和 input( ),两个函数都存在,其中区别为: raw_input( ) 将所有输入作为字符串看待,返回字符串类型。 input( ) 只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的...

PHP命名空间(Namespace)的使用详解

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。 例:项目中有两个模块:article和messa...

Python 中变量赋值传递时的引用和拷贝

曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了。那个问题如下: dict = {'a':[1,2,3,4,5],'b':2} x = dict['a'] for i in r...

C 语言关于结构体做参数传递

首先结构体做函数参数有三种传递方式: 一是传递结构体变量,这是值传递,二是传递结构体指针,这是地址传递,三是传递结构体成员,当然这也分为值传递和地址传递。 以传引用调用方式传递结构比用传值方式传递结构效率高。以传值方...

C 语言中单引号与双引号的区别

今天看了《C陷阱与缺陷》中对 "" 与 '' 的描述,'' 引起的一个字符代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。 "" 引起的字符串代表的是一个指向无名数组起始字符的指针。对这两个符号产生了兴趣,遂打开 V...

lua table 长度解析

先来看 lua table 源码长度获取部分(ltable.c) j 是数组部分的长度。首先判断数组长度大于 0,并且数组最后一个是 nil,就用二分法查找,返回长度。 如果 t->node 是 table 的 hash 部分存放,如果是空,就返回数组的长度...

Windows 10 配置Java 环境变量

下载 JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 点击下载按钮: 开始安装JDK: 可以设置为你想安装的路径。 环境变量配置 1. 打开 环境变量窗口 右键 This PC(此...

三层架构详解

一直想做一个比较完整、比较完美的总结。但是左思右想,不知道如何下笔。都说万事开头难嘛,今天整理了一下凌乱的思路,哎,还是没整理好,想到哪就说到哪吧。 初学者很不理解: 1、什么是三层? 2、为什么使用三层? 3、三...

JavaScript 中 call()、apply()、bind() 的用法

其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: 例 1 obj.objAge; // 17 obj.myFun() // 小张年龄 undefined 例 2 shows() // 盲僧 比较一下这两者 this 的差别,第一...

C# 中数组作为参数传递的问题

原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。 如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难被检查到,...

C++ 枚举类型详解

枚举类型的定义:枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 定义格式:枚举类型的定义格式为: enum <类型名> {<枚举常量表>}; 格式说明: 关键字enum——指明...

Nginx 配置详解

序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virt...