· 第27页 1 type safelanguage 本页的主要内容是说swift语言是“类型检查”的安全型编程语言。意思是赋值语句的左值和右值的类型要一致,左值声明是string型变量那么等号的右值就该是个用双引號引起来的字符串。而不能是整形或者浮点数据。 编译器在编译代码时会检查赋值语句的左值和 ...
分类:
编程语言 时间:
2017-07-14 09:58:40
阅读次数:
210
4.1 基础 4.1.1 基本概念 组合运算符合和运算对象 运算符的优先级 结合律 运算对象的求值对象 运算对象转换 重载运算符 左值和右值 组合运算符合和运算对象 运算符的优先级 结合律 运算对象的求值对象 运算符的优先级 结合律 运算对象的求值对象 运算对象转换 重载运算符 左值和右值 4.1. ...
分类:
编程语言 时间:
2017-07-09 16:09:52
阅读次数:
159
在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。 引入了右值引用,转移构造函 ...
分类:
其他好文 时间:
2017-07-09 12:39:05
阅读次数:
131
聊聊树状结构如何在数据库中存储 昨天有人在QQ小组问起,无限分层的树状结构,数据量比较大,在一万条以上,如何设计数据库的结构。其实这是个老生常谈的问题,一般的做法是有一个pid字段,为了提高效率,还会有个FullPath字段。(一些人还设置一个层级字段,但我不知道这个字段有何作用),FullPath ...
分类:
其他好文 时间:
2017-07-06 20:32:29
阅读次数:
209
分析下述代码: 代码不能通过编译。str1为char *const类型的右值类型,根本不能赋值。若想对数组的第一个元素赋值,需要使用*str=‘a’;对字符数组赋值后,使用库函数strcpy进行拷贝操作,strcpy会从源地址一直往后拷贝,直到遇到‘\0’为止。所以拷贝长度是不定的。如果一直没有遇到 ...
分类:
其他好文 时间:
2017-06-26 12:53:00
阅读次数:
144
在一个类的内部同时实现常规拷贝构造函数和移动拷贝构造函数,常规赋值函数和移动赋值函数。调用时若参数为一个左值,则调用常规函数;若参数为一个右值,则调用移动函数。也可调用"std::move"强行调用移动函数。#include<iostream>
#include<utility>
usingstd::c..
分类:
移动开发 时间:
2017-06-13 14:25:34
阅读次数:
252
东西写的太简单了 都不好意思说是NOSQL 其实就是STL 的map容器记录了写入的信息 解析了下数据仅此。 分析的时候想了很多 比如学习redis的自写hash,动态调整hash表容量。 比如右值或者C语言直接操作内存 提升效率 比如多线程操作互斥 网络连接 记录操作时间等等 但是c++写起来,心 ...
分类:
数据库 时间:
2017-06-08 14:05:06
阅读次数:
250
引用 先上个示例: 上述代码使val中包含自身,而产生了无限递归。上述示例表明Python中的变量名为引用类型,赋值只是使得左值指向与右值相同的内存对象。 is运算符可以判断两个引用是否指向了同一个对象,而==运算符判断两个引用指向的值是否相等而不关心指向什么对象。 对引用不了解的朋友,可以把Pyt ...
分类:
编程语言 时间:
2017-06-05 23:33:15
阅读次数:
177
总结--C++ primer 5 一、左值和右值(P121) 1. 概念 C++的表达式,要不然是右值,要不然是左值。 这两个名词继承与C语言,在C中是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能。在C++中,二者的区别没那么简单:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被 ...
分类:
编程语言 时间:
2017-05-29 12:54:07
阅读次数:
188
一:一维数组inta[5];a:就是数组名。a做左值时表示整个数组的所有空间(10×4=40字节),又因为C语言规定数组操作时要独立单个操作,不能整体操作数组,所以a不能做左值;a做右值表示数组首元素(数组的第0个元素,也就是a[0])的首地址(首地址就是起始地址,就是4个字节中最..
分类:
编程语言 时间:
2017-05-19 22:30:17
阅读次数:
183