const

C++ const限定符相关知识小结

不羁岁月 提交于 2020-03-05 22:07:05
疫情所迫,希望用这种方法督促自己坚持学习。同时记录在找工作过程中的艰辛不易。博客内容持续增减修改,都为摘录和个人理解。欢迎各位批评指正其中错误,相互勉励,共同进步。 一、const 定义和初始化 在代码中,我们希望有些变量为常值,不能为其赋值,例如为某个数据分配固定大小的内存,这时就要用到const限定符。其常见的定义和初始化方式如下: int i = 10 ; const int j = i ; //为int型常量赋给i的值 const int k = 10 ; //为int型常量赋值10 const int s ; //错误,常量类型必须有初始化值 k = 100 ; //错误,常量类型值不能修改 值得注意的是,在默认情况下,const类型仅在当前文件中有效,不能被其他文件调用。如果需要被其他文件调用,则无论在声明还是定义时都需要加入关键字 “extern”。 //在头文件中声明 extern const int size; //在其他文件调用并初始化 extern const int size = get_size ( ) ; 因此,如果想在多个文件中共享const变量,就必须加上关键字“extern” 二、const的引用 把引用绑定到const对象上,称之为对常量的引用。因此常量引用不能用来修改其绑定的const对象的值。 const int a = 10 ; /

react中出现this.setState()方法undefined

南笙酒味 提交于 2020-03-05 21:30:00
在写前端代码的时候会经常用到this.setState()方法进行变量的赋值操做,最近遇到一个比较头痛的问题,在不同的位置使用this.setState()的时候,有时候出现function not define的问题,会出现问题的代码如下: . then ( function ( response ) { console . log ( " response response " , response ) ; const { List } = this . state ; } ) 提示this.setState() undefined 的方法 经过查找资料后发现,是版本的问题,并不是this.setState()本身的问题,而是方法自身定义的问题,经过修改后的代码如下: . then ( ( response ) => { console . log ( " response response " , response ) ; const { List } = this . state ; } ) 来源: CSDN 作者: HelloLV111 链接: https://blog.csdn.net/qq_39769995/article/details/104682097

react中把当前定位城市封装到utils工具包中

故事扮演 提交于 2020-03-05 19:55:06
import axios from 'axios' // 创建并导出定位城市的函数 export const getCurrentCity = ( ) => { // 判断本地存储中是否有定位城市 const localCity = JSON . parse ( localStorage . getItem ( 'hkzf_city' ) ) if ( ! localCity ) { // 使用promise来解决异步问题 return new Promise ( ( resolve , reject ) => { // 如果没有就使用首页中获取定位城市的代码来获取,并且存储到本地存储中 const curCity = new window . BMap . LocalCity ( ) curCity . get ( async res => { try { const result = await axios . get ( `http://localhost:8080/area/info?name= ${ res . name } ` ) console . log ( result ) // 存储到本地存储中 localStorage . setItem ( 'hkzf_city' , JSON . stringify ( result . data . body ) )

QT 的QLayout布局属性

自作多情 提交于 2020-03-05 18:13:38
QT布局控件 在QT的布局类中主要有如下的关系: QLayout 类主要作为布局类的基类,是抽象类,提供多种接口函数给继承类。 QLayout 提供了子页面,子Layout的添加的接口,同时提供了边界设置,菜单项设置等一系列接口 virtual void addItem ( QLayoutItem * item ) = 0 void addWidget ( QWidget * w ) void setContentsMargins ( intleft , int top , int right , int bottom ) void setMenuBar ( QWidget * widget ) QBoxLayout 主要分为水平布局类(QHBoxLayout)和垂直布局类(QVBoxLayout) QBoxLayout作为QLayout的子类,提供了一些额外的信息:提供元素的拉伸比例,添加空元素等 void addLayout ( QLayout * layout , int stretch = 0 ) void addSpacerItem ( QSpacerItem * spacerItem ) void addSpacing ( intsize ) bool setStretchFactor ( QWidget * widget , int stretch ) bool

25个JavaScript数组方法代码示例

岁酱吖の 提交于 2020-03-05 16:03:46
摘要: 通过代码掌握数组方法。 原文: 通过实现25个数组方法来理解及高效使用数组方法(长文,建议收藏) 译者:前端小智 Fundebug 经授权转载,版权归原作者所有。 要在给定数组上使用方法,只需要通过 [].方法名 即可,这些方法都定义在 Array.prototype 对象上。在这里,咱们先不使用这些相,反,咱们将从简单的方法开始定义自己的版本,并在这些版本的基础上进行构建。 没有比把东西拆开再重新组装起来更好的学习方法了。注意,当咱们的实现自己的方法时,不要覆盖现有的方法,因为有的库需要它们,并且这样也方便比较咱们自己的方法与原始方法的差异。 所以不要这样命名咱们自定义的方法: Array.prototype.map = function map() { // implementation }; 最好这样命名: function map(array) { // implementation } 咱们也可以通过使用 class 关键字并扩展 Array 构造函数来实现咱们的方法,如下所示: class OwnArray extends Array { public constructor(...args) { super(...args); } public map() { // implementation return this; } } 唯一的区别是

moment.js获取本周本月本年的开始日期和结束日期

爱⌒轻易说出口 提交于 2020-03-05 15:43:26
//获取本日 const startDate = moment().format('YYYY-MM-DD'); const startDate = moment().format('YYYY-MM-DD'); //获取本周 const startDate = moment().week(moment().week()).startOf('week').format('YYYY-MM-DD'); //这样是年月日的格式 const endDate = moment().week(moment().week()).endOf('week').valueOf(); //这样是时间戳的格式 //获取本月 const startDate = moment().month(moment().month()).startOf('month').valueOf(); const endDate = moment().month(moment().month()).endOf('month').valueOf(); //获取本年 const startDate = moment().year(moment().year()).startOf('year').valueOf(); const endDate = moment().year(moment().year()).endOf('year')

web保存分享图片并保存的图片附带后端提供的地址生成的二维码Canvas画布实现

随声附和 提交于 2020-03-05 15:39:26
首先需要html2canvas 这个库: http://html2canvas.hertzen.com/ 因为前端框架是react,下载了html2canvas库后接下来上代码 import html2canvas from 'html2canvas'; import SharePoster from '@/pages/share/index'; const [shareLink, setShareLink] = useState(''); //获取后台url useEffect(() => { const fetchShareLink = async () => { try { const res = await request.get(`/api/client/lessons/lesson/share-url?lesson=${lessonID ? lessonID : ''}`) setShareLink(res.share_url) } catch (error) { toast.fail('获取分享链接失败,请刷新重试') console.log(error) } } if (token) { fetchShareLink() } }, [token]); //生成图片的方法 const saveImage = async () => { try { const

深入学习和理解 Redux

浪子不回头ぞ 提交于 2020-03-05 09:42:51
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/jhgQXKp4srsl9_VYMTZXjQ 作者:曾超 Redux官网上是这样描述Redux,Redux is a predictable state container for JavaScript apps.(Redux是JavaScript状态容器,提供可预测性的状态管理)。 目前Redux GitHub有5w多star,足以说明 Redux 受欢迎的程度。 一、Why Redux 在说为什么用 Redux 之前,让我们先聊聊组件通信有哪些方式。常见的组件通信方式有以下几种: 父子组件:props、state/callback回调来进行通信 单页面应用:路由传值 全局事件比如EventEmitter监听回调传值 react中跨层级组件数据传递Context(上下文) 在小型、不太复杂的应用中,一般用以上几种组件通信方式基本就足够了。 但随着应用逐渐复杂,数据状态过多(比如服务端响应数据、浏览器缓存数据、UI状态值等)以及状态可能会经常发生变化的情况下,使用以上组件通信方式会很复杂、繁琐以及很难定位、调试相关问题。 因此状态管理框架(如 Vuex、MobX、Redux等)就显得十分必要了,而 Redux 就是其中使用最广、生态最完善的。 二、Redux Data flow

深入学习和理解 Redux

最后都变了- 提交于 2020-03-05 09:08:08
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/jhgQXKp4srsl9_VYMTZXjQ 作者:曾超 Redux官网上是这样描述Redux,Redux is a predictable state container for JavaScript apps.(Redux是JavaScript状态容器,提供可预测性的状态管理)。 目前Redux GitHub有5w多star,足以说明 Redux 受欢迎的程度。 一、Why Redux 在说为什么用 Redux 之前,让我们先聊聊组件通信有哪些方式。常见的组件通信方式有以下几种: 父子组件:props、state/callback回调来进行通信 单页面应用:路由传值 全局事件比如EventEmitter监听回调传值 react中跨层级组件数据传递Context(上下文) 在小型、不太复杂的应用中,一般用以上几种组件通信方式基本就足够了。 但随着应用逐渐复杂,数据状态过多(比如服务端响应数据、浏览器缓存数据、UI状态值等)以及状态可能会经常发生变化的情况下,使用以上组件通信方式会很复杂、繁琐以及很难定位、调试相关问题。 因此状态管理框架(如 Vuex、MobX、Redux等)就显得十分必要了,而 Redux 就是其中使用最广、生态最完善的。 二、Redux Data flow

C++ std::array

可紊 提交于 2020-03-05 08:04:18
std::array template < class T, size_t N > class array; Code Example #include <iostream> #include <array> #include <cstring> using namespace std; int main(int argc, char **argv) { array<int, 5> intArr = {1,2,3,4,5}; for(auto it = intArr.begin(); it != intArr.end(); it++ ) { cout << *it << "\t"; } ///< output: 1 2 3 4 5 cout << "\n"; ///< r means reverse for(auto rit = intArr.rbegin(); rit < intArr.rend(); rit++) { cout << *rit << "\t"; } ///< output: 5 4 3 2 1 cout << "\n"; ///< c means const for(auto cit = intArr.cbegin(); cit != intArr.cend(); cit++ ) { cout << *cit << "\t"; } ///< output:1 2