专职C++

不能停止的脚步

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  159 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用链接

留言簿(13)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#

     摘要: C++17标准在2017上半年已经讨论确定,正在形成ISO标准文档,今年晚些时候会正式发布。本文将介绍最新标准中值得开发者关注的新特新和基本用法。

总的来说C++17相比C++11的新特性来说新特性不算多,做了一些小幅改进。C++17增加了数十项新特性,值得关注的特性大概有下面这些:  阅读全文
posted @ 2017-07-28 13:25 冬瓜 阅读(1207) | 评论 (1)编辑 收藏

从上次六一安装试用RAD,这就样过了快两个月了,就想用一下看看,结果报MSBUildToolsPath is not specified for the ToolsVersion "14.0",google了一下,找到原因了,因为我有装过vs2015,但是真心不好用,就卸载了,装了vs2013,于是就报这样的错了。卸载是是比较干净的,但是还是有一个地方注册表有漏了,就是32位注册表(没想64位windows会有64和32两份注册表),
运行:c:\windows\SysWOW64\regedt32.exe
找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\14.0

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersion\14.0
然后删除,就可以了。

再去行RAD,就不报这个错了。
然后就可以开开心心写了一个android例子,顺利跑了起来。

posted @ 2017-07-21 10:07 冬瓜 阅读(477) | 评论 (0)编辑 收藏

     摘要: JetBrains 在 2016 年底至 2017 年初期间,对 5000 多名开发人员进行了调查,以研究最新的开发生态。

最近,调查结果已公布:Java 被评为最流行的语言,JavaScript 是最常用的语言,而 Go 被认为是最有前途的语言。  阅读全文
posted @ 2017-07-19 15:34 冬瓜 阅读(821) | 评论 (0)编辑 收藏

一、说明

在es6中增加了一个class,简单明了,比ES5下面强多了 
每个类都有会有一个构造函数constructor。如果没有申明,则会默认分配一个空的。 
如果需要调父类的构造函数,需要在constructor第一行调用super,至于为什么,已经有N多文档说明了。 
例如:

class a {
constructor(m) {
this.m_m = m;
}
};
class b extends a {
constructor(m, m1) {
super(m);
this.m_m1 = m1;
}
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

二、属性方法

在es6中,使用get和set来标明属的读写函数

class a {
constructor(m) {
this.m_m = m;
}
get m() { return this.m_m; }
set m(v) { this.m_m = v; }
};
let testa = new a(1999);
console.log(testa.m);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里就会 打印出1999

三、非静态成员函数

class a {
constructor(m) {
this.m_m = m;
}
get m() { return this.m_m; }
set m(v) { this.m_m = v; }
mult(k) {
return this.m_m * k;
}
add(k) {
return this.m_m + k;
}
sub(k) {
return this.m_m / k;
}
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里可以看到,不需要用function了,又是做了大大的简化。

四、静态成员函数

只需要在类的成员方法前,加一个static关键字就可以了,如果同一个类的静态函数,可以用this来调用。如下面的astatcfun1调用astatcfun,也可以用类名.的方问,如astatcfun2调用astatcfun,建议还是用this,在使用的时候,静态方法,不需new出对象来,直接用对象.的方式,如下面的testcall调用a的静态方法。也可以派生给子类。

class a {
constructor(m) {
this.m_m = m;
}
static astaticfun() {
return 100;
}
static astatcfun1() {
return this.astaticfun() + 200;
}
static astatcfun2() {
return a.astaticfun() + 200;
}
get m() { return this.m_m; }
set m(v) { this.m_m = v; }
mult(k) {
return this.m_m * k;
}
add(k) {
return this.m_m + k;
}
sub(k) {
return this.m_m / k;
}
}; //
function testcall(){
console.log(a.astaticfun());
console.log(a.astatcfun1());
console.log(a.astatcfun2());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

静态成员函数的调用

class a {
static aaa() {
return "aaa";
}
static bbb() {
return this.aaa() + "bbb"; //同一个类的静态函数调用函数,只需要用this.就可以
}
kkk() { return "kkk"; }
ccc() {
return a.aaa() + "ccc" + this.kkk(); //同一个类的非静态函数调用静态函数,则需要类名.的方式
}
};
let c = new a();
console.log(a.bbb());
console.log(c.ccc());
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

五、派生

在ES6的派生通过extends这个关键字就可以,如

class b extends a() { };
posted @ 2017-07-17 11:47 冬瓜 阅读(427) | 评论 (0)编辑 收藏

     摘要: 本文不是为了让读者去评判这些程序媛的颜值,而是为了让大众知道,在代码背后,也存在这样一群女性,她们利用自己的技术战胜了世人的偏见,用自己的实力赢得了如今的地位。在这个男性统治的数字世界,她们的成就尤为不易。未来,应该有更多的程序媛,而不是程序员鼓励师。  阅读全文
posted @ 2017-07-06 11:03 冬瓜 阅读(552) | 评论 (0)编辑 收藏

C++语言做为一个计算机语言,无可厚非的可称为最牛的语言之一。每种语言都有其应用场景。对于反射,运行时类型,其实也只是C#和java这种语言需要的多,而这种语言应用场景和C++是不重叠的。如果强用C++写这些场景的应用,我只能说,哭吧,不是罪。
现在大量的应用,都开始使用更轻量的级的语言了,如javascript,go,swift,lua等。这些语言,也同样没有反射,只提供了少量的运行时信息,但用他们开发起来,比C#和java要轻很多。现在很多手机端app,你则可以很轻松实现,而用java或Objective C,则是各种苦恼!
所以,当 华夏之火吐糟C++的时候,你知道有多少人在吐糟java和C#吗?如果说起php是最好的语言,你服吗?

C++的String和STL相比C#和java确实要差一些,早期版本的STL库还非常难读,还很多个版本实现。但是java和C#这些库比起javascript,lua等语言重很多了。

所以具体的开发,还是选择合适的语言,这样开发,才能呵呵。在各自的应用场景,其实是不能相互替代的。
posted @ 2017-07-05 16:16 冬瓜 阅读(428) | 评论 (0)编辑 收藏

酷派 全魔王 8298-M02用于测试的手机,需要root,试了7兔,kingroot,百度root,root精灵,最后在完美root这个工具root成功了。
这手机,还不错,算是性价比非常高的手机了,在京东618的时候,以389入手。由于活动的原因,今天才收到。

看到很多人也在求root,在这里发一贴,希望对root的人有帮忙了。不过,这手机,真的不错,超值了。可以确定比某米4A强!质量也比它的好。我去酷派官网看了一下,原价是1299的,哈。

另:完美root好像已经停止进展了~~~


补充:这个手机,居然还送一年乐视会员!太强了

posted @ 2017-06-26 16:03 冬瓜 阅读(471) | 评论 (0)编辑 收藏

对于vscode,已经更新到1.13了,更新的好快啊。有的时候,需要在Linux下面工作,所以我选择了centos 7.x

废话一下ubuntu,最新17.04,我试装过不少版本(虚拟机下),最后就一个字卡。所以,每次都果断放弃了。反过来说,centos 桌面,虽然很多东西不是很新,但是在虚拟机下,它一点都不卡。centos 7.x的GUI也非常不错。

对于怎么安装vscode,参考官方的https://code.visualstudio.com/docs/setup/linux 有详细的说明。

对于centos则如下:

 

[javascript] view plain copy
 print?
  1. sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc  
  2. sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'  

然后用yum命令安装

 

 

[javascript] view plain copy
 print?
  1. yum check-update  
  2. sudo yum install code  

完成后,就可以用vscode了

 

后面附两张centos 7.x的UI




0
posted @ 2017-06-20 09:43 冬瓜 阅读(1118) | 评论 (0)编辑 收藏

centos 安装nodejs主要有两种方式,一种是源码,第二种是二进制安装。 
Linux系统一般来说,不追求新,而是追求稳定。centos 下的软件往往不是最新的,却是相对比较稳定的。我想这也是我们很多人选择centos的原因。(最重要的一点,是用习惯了centos或rhel)

现在Node.js已经8.1.2的,发展很快。如果用源码编译至少需要gcc 4.8.x或clang 3.xx,对于centos 6.x(默认是gcc 4.4.x)是一个麻烦的事,如果你仅是使用nodejs,nodejs编译时间又比较长,所以我这里还是倾向于二进制安装。

本身centos的yum默认是不带的node的安装包的,所以需要第三方方法。 
大家可以看这个网站,https://github.com/nodesource/distributions

上面提供了ubuntu,debian,linux Mint,还有centos(rhel)等安装方法。 
我这里,使用安装 nodejs 8.x 
所以内容如下

#要求在root下执行 curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

很简单,我在centos 6.x下就完成了node.js 8.1.2的安装。

posted @ 2017-06-20 09:43 冬瓜 阅读(475) | 评论 (0)编辑 收藏

版权声明:本文为zdhsoft博主原创文章,未经博主允许不得转载。

因为装了Android studio 2.3 所以就默认安装了android sdk和NDK,用的NDK的版本是r10d x64。在安装RAD Studio的时候,就没有选择安装android的sdk和NDK,然后,用C++Builder创建MultDevice工程 ,编译为android目标就报如下错:


问是是arm-Linux-androideabi-ld.exe执行报错,而Delphi的版本,则没有问题!

然后找到RAD Studio的安装包,发现它有一个android-ndk.7zip的文件,然后用7z工具打开,发现里面是一个NDK r9c的版本,然后我就它提出出来,放到一个目录,如:d:\ndk\r9c,然后配置RAD studio





配置完成后,就可以编译android了,接上手机,就可以在真机上跑了

初步试用通过,感觉还是一个半成品的样子!C++Builder代码提示还是卡,有点改善的样子。

posted @ 2017-06-01 21:20 冬瓜 阅读(575) | 评论 (0)编辑 收藏

仅列出标题
共16页: 1 2 3 4 5 6 7 8 9 Last