「译」 C++ 五大谣言(及辟谣),第1部分
译者注:本文于 2014年12月9日 由 C++ 之父 Bjarne Stroustrup 发表于 C++ 官方网站上https://isocpp.org/blog/2014/12/myths-1
「为了您在冬季能享受阅读的快乐,我们很高兴地推出了这个由 Bjarne Stroustrup 写的三部分系列文章。本文是第一部分,第二和第三部分将会在接下来的两个星期一发表,届时正好...
C++ 的 ScopeExitGuard
C++ 提供了 RAII 机制,并提倡使用它来管理各种资源,可是在实际中会发现这一套使用起来并不如想象中的那么方便。在 Linux 下开发会遇到大量 open() / close() 或是 malloc() / free() 类似操作,而且大部分都没有现成好用的 C++ wrapper,如果每组操作都自己去寨一个 class OperationGuard 只用来管理资源释放未免又显得过...
指针和虚函数表
前两天在水木 C++ 版看到两个题目,分别是关于指针和 class 的虚函数表的。关于指针和数组,之前已经打过很久的交道了,比较简单。不过虚函数表以及 class 成员的内存布局一直是模模糊糊的概念,趁此机会把《C++对象模型》拿出来研究了一把。
题目一
#include<stdio.h>
int main()
{
int a[5] ...
Ubuntu 右上角小键盘不见了解决方法
好久没用电脑了,打开电脑,发现发现输入法不能切换且 ubuntu 右上角的小键盘不见了,再网上搜索方法如下:
打开终端,在终端里输入如下命令:
1. killall ibus-daemon
2. ibus-daemon -d
ibus 输入法偶尔会挂掉,结束进程,再重新启动即可。
linux 内核代码格式 Documentation/CodingStyle
tabs为8空格, 这样对结构块的开始结尾比较清晰, 特别当你对着电脑看了很多小时, 大缩进让看代码更容易. 有人会说8缩进让代码太靠右了, 一行里面很难写完, 如果你有了至少四层的缩进, 那只能说你的代码写太差了.
不要在一行里面写多条语句, 除非你想做一些特别的事.
避免奇怪的表达式.
不要用空格代表缩进.
每行最多有80个字符
大括号的用法...
我被硬特fortran编译器坑的事迹
最早先,gfortran下没有问题的代码在硬特编译后出现segment fault。结果发现数组整体赋值出了问题,比如
w=w1
只要数组w和w1特别大,就fault了。只好遇到比较大的数组,就把用循环。
DO k=0,kb
w(:,:,:,k)=w1(:,:,:,k)
ENDDO
最近又被坑了一次,而且完全与上面这个经验相反。
id...
Flask的SERVER_NAME解析
SERVER_NAME是Flask中比较容易用错的一个设置值,本文将介绍如何正确使用SERVER_NAME。
Flask中的SERVER_NAME主要做两件事:
协助Flask在活动的请求(request)之外生成绝对URL(比如邮件中嵌入网站URL)
用于子域名支持
很多人误以为它可以做这两件事之外的其它事情。
第一件事:绝对U...
论逗逼的自我修养之FFT练习记
最近做大爷们出的训练题,基本每天一道FFT...但是似乎我对FFT的理解只停留在“可以求两个数组的卷积”+背代码阶段,感觉再不重新学一遍要跟不上时代的脚步了...
[12.7]差不多就到这儿吧。。感觉把教材pyx的博客上的每一块都看了一遍,但是感觉做题还是不大会用。。如果以后闲着无聊想自虐的话可能会去写一下策爷的[tex]e^{A_{(z)}}[/tex...
inotify-tools用法
一、介绍
inotify-tools是为linux下inotify文件监控工具提供的一套C的开发接口函数库,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。Inotify-tools使用用c编写的,除了要求内核(Linux2.6.13开始)支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是inotifywait,它是用来监控...
matlab添加工具箱的两种方法
第一种方法是 敲命令 ,首先把 工具箱 比如 bnt 工具箱 放到安装目录的 toolbox 这个文件夹下,然后启动matlab,敲入
1 addpath(genpath('path'));
2 savepath;
第二种方法是 界面操作,
首先把主界面调出来,有两种方式,一种是在命令窗口输入pathtool,另一种是在mat...
rsync学习
一、示例
以下面两个目录为例子
src目录结构
➜ tree src
src
└── demo.py
dest目录结构
➜ tree dest
dest
└── hello.py
1. 文件同步
➜ rsync -v src/demo.py dest
demo.py
sent ...
用HTML5构建一个流程图绘制工具
在我们的开发工程中经常会使用到各种图,所谓的图就是由节点和节点之间的连接所形成的系统,数学上专门有一个分支叫图论(Graph Theroy)。利用图我们可以做很多工具,比如思维导图,流程图,状态机,组织架构图,等等。今天我要做的是用开源的HTML5工具来快速构造一个做图的工具。
工具选择
预先善其事,必先利其器。第一件事是选择一件合适的工具,开源时代,程序员还是很幸福的...
关于Git的学习思路: 关键在于分支
关于Git的学习思路
去年试图学过一次,但是居然没法接受,也许是使用svn太久脑子没法转过来。
这次因为工作需要,决定转到git。找了几本书看过,发现对于一个svn老人来说,掌握git的关键还在于思路转换。
转换思路的关键在于分支,只要理解了分支,理解了git中各个分支如同锁链一样将各个commit连接在一起,知道分支之间的切换、merge和rebase等...
天河-1A下编译安装 HDF5 和 CGNS
天河-1A下编译安装 HDF5 和 CGNS
天河的开发环境太单薄了,很多库都没有,只能自己编译,没法像ubuntu那样apt-get一下就ok了
在hdf5的页面下载 zlib szip,配置方式为
./configure -prefix /home/jack/lib
然后 make;make install
配置 hdf5
./con...