存档

2015年2月 的存档

ubuntu14.10安装vlck

2015年2月13日 没有评论

自从系统更新到14.10以后,一直没有安装上vlc,使用软件中心安装时总是失败,使用apt安装时,提示一个依赖库版本不行,所以就这么一直耽误下来了。今天在搜http live streaming的时候又看到vlc,于是就想给电脑装上。

google了一下,分享一下经验:


#添加ppa

sudo add-apt-repository ppa:videolan/master-daily

sudo apt-get update

sudo apt-get install vlc

vlc是一款非常强力的播放器,enjoy it!

vlc

初始C++对象

2015年2月12日 没有评论

本人是一个php程序员,去年由于工作机会使用过一点C语言。由于以前使用惯了php这种弱类型语言,在回头来使用C这种强类型的语言,项目期间也是各种纠结不适应。一个同事建议我使用C++来开发它,C++可以使用标准库,而使用C语言所有的东西几乎都要自己开发来写,做一个用户管理要自己来实现链表,就这些方面来看php这种高级语言相比C语言可以解放程序员更多时间去做其他事情。你可以把自己的业务逻辑更完善或者其他的相关的事情。去年年末到新公司,主要是做游戏,主要用C++做服务端,就决定花一些精力来学习C++,最近也看了一点经典的《C++Primer》,就动手写了一个简单的C++的类!

Printer类:


#include <iostream>
#include <string>
using namespace std;

class Printer{
public:
string m_msg;
Printer();
void setMsg(string str);
void showMSg();
};

int main(){
string msg("Hello Wolrd!");
Printer p = Printer();
p.setMsg(msg);
p.showMSg();
return 0;
}

Printer::Printer(){
cout << "Welcome to Printer!" <<endl;
}

void Printer::setMsg(string str){
m_msg = str;
}

void Printer::showMSg(){
cout << m_msg << endl;
}

这个简单的类里面涉及到成员变量和成员函数,其实C++面向对象就这点和php相比还是很大的。

先说最重要的一点吧,成员变量的操作。在php中,如果我要对一个类的成员进行操作,一般我们会使用”$this”关键字来调用操作的。但是在C++里面,你是可以直接对其操作的,例如上面setMsg函数赋值时,就是直接使用的“m_msg = str;”.所以在声明类的成员时,最好对其加上前缀或者后缀进行表示,否则,你就会可能和你在外部声明的变量重名了,使用起来就会很混乱了。

其实关于访问控制上面,php默认的是public而C++默认的是private。

还有一个就是关于变量实例时,我感觉如果你最初是一个php程序员之后来接触C++也是会可能遇到的问题。php在实例化类时,我们会使用new关键字,例如我要实例一个上面的Printer类,写法是这样的“$p = new Printer;”,但是C++里面如果你要也是使用new关键字的话,如”Printer p = new Printer;”,编译器会报错的。因为new关键字是在堆里面申请内存空间的,所以此时返回的指针类型的,此时就是应该把类型做类似的声明“Printer *p = new Printer;”.当然如果你不需要使用指针,也可以这样根据构造函数来实例化对象”Printer p = Printer();”.

基于这些,在进行C++开发时,就需要注意变量的命名规范来避免冲突。

分类: C/C++ 标签: