上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 今天下午跟一个朋友聊天,他是做国际售后的,他们公司是做国际外包的。在聊到在国外的工作经历时,他深锁了眉头,跟我聊了很多。我把他工作遇到的问题总结为以下四点: 1. 签证不规范,为节约成本谎报签证类型,引起他国政府反感,致签证被拒。 2. 需求变更流程不规范,客户提出的需求很容易在开发流程中丢失,给客户造成一再拖延的表象。 3. 软件质量不高,未经严格测试的软件被流向国际客户那里,致售后人员遭受客户责难。 4. 售后人员心态不正,认为客户给的钱少,就应该给次品,造成服务心态不好。1.签证不规范 出国的人都知道,在办理签证时,有不同的签证种类让我们选择,而不同签证的价格也不一样。国内很... 阅读全文
posted @ 2012-10-14 21:56 邵贤军 阅读(2836) 评论(15) 推荐(6) 编辑
摘要: file1.c1 int arr[80];file2.c1 extern int *arr;2 int main() 3 { 4 arr[1] = 100;5 printf("%d\n", arr[1]);6 return 0; 7 }该程序可以编译通过,但运行时会出错。为什么呢?原因是,在另一个文件中用 extern int *arr来外部声明一个数组并不能得到实际的期望值,因为他们的类型并不匹配。所以导致指针实际并没有指向那个数组。注意:一个指向数组的指针,并不等于一个数组。修改:extern int arr[]。(参考:ISO C语言 6.5.4.2... 阅读全文
posted @ 2012-10-14 00:09 邵贤军 阅读(341) 评论(2) 推荐(0) 编辑
摘要: 原文地址:http://coolshell.cn/articles/4119.html昨天写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种 阅读全文
posted @ 2012-10-13 00:57 邵贤军 阅读(606) 评论(0) 推荐(1) 编辑
摘要: 首先有一个有趣的东西:如何不通过对象来访问对象中的虚函数呢?我们来看下面这样一段代码: 1 #include <iostream> 2 using namespace std; 3 4 typedef void (*Fun)(void); // 函数指针 5 6 class A{ 7 public: 8 virtual void testA(void){ 9 cout<<"A is Print."<<endl;10 }11 12 virtual void testB(void){13 cout<<"B is Prin 阅读全文
posted @ 2012-10-13 00:23 邵贤军 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 面向对象的核心:封装、继承、多态。其中多态又分为编译时多态和运行时多态。 编译时多态(静态联编):利用函数重载实现 运行时多态(动态联编):利用虚函数实现虚函数就是被关键字virtual修饰的类成员函数,它是动态联编的核心。 1. 虚函数只能是类的成员函数,并且在发生类的继承时发生作用,普通函数不能用virtual修饰。 2. 虚函数不能是static的,虚函数决定了多态,它是属于对象的,不能是唯一的。 3. 析构函数最好是虚函数,以确保在继承时,子类的析构函数也被调用。下面是虚函数的例子: 1 #include <iostream> 2 using namespace std; 阅读全文
posted @ 2012-10-12 23:30 邵贤军 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 using namespace std; 3 4 class Father{ 5 6 public: 7 ~Father(){ 8 cout<<"Father's Desconstruct Called."<<endl; 9 }10 };11 12 class Son : public Father{13 public:14 ~Son(){15 cout<<"Son's Desconstruct Called."<<endl;16 阅读全文
posted @ 2012-10-12 15:19 邵贤军 阅读(1951) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 using namespace std; 3 4 class Tree{ 5 public: 6 Tree(){ 7 num = 0; 8 } 9 void operator ++(){10 num++;11 }12 13 int num;14 };15 16 int main(){17 18 Tree tree;19 cout<<tree.num<<endl;20 tree++;21 cout<<tree.num<<endl;22 23 ... 阅读全文
posted @ 2012-10-11 23:48 邵贤军 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 浅拷贝:即类中有指针成员变量,拷贝时,只拷贝了指针变量,而没有拷贝指针变量所指向的地址块。实例代码: 1 #include <iostream> 2 using namespace std; 3 4 class Tree{ 5 public: 6 // 拷贝构造函数 7 Tree(const Tree& tree){ 8 this->num = tree.num; 9 }10 // 构造函数11 Tree(){12 num = new int(10);13 }14 // 析构函数15 ~Tree(... 阅读全文
posted @ 2012-10-11 23:38 邵贤军 阅读(435) 评论(0) 推荐(0) 编辑
摘要: C++0x引入了很多令人兴奋的好东西,其一便是右值引用。右值引用到底是什么意思呢?而与因此被命名为左值引用的用法有什么不同呢?本文将为你揭晓。 阅读全文
posted @ 2012-10-10 23:32 邵贤军 阅读(1059) 评论(0) 推荐(0) 编辑
摘要: 相信很多CPPers跟我一样,曾经在指针和引用里徘徊了很久很久。经常弄混指针和引用,尤其是见到如题中列出那些用法,着实是伤脑经。后来,在项目中用着用着,就能搞清楚区别了,算是会用吧。然而,对于一个Programmer,最忌讳的就是不知其所以然,会用和懂是两番天地。停留在会用的人,始终是原地打转;而懂的人,一通百通,能举一反三。本文,就如题的指针和引用的用法做一个介绍。首先我们来普及一下概念,说明一下什么是指针和引用,这里借用一下变量名作为过渡。 ■指针 ---- 指向某一块内存的变量,其本身存储的信息就是内存地址的首地址,其类型决定指向内存的大小。 比喻,超市... 阅读全文
posted @ 2012-10-10 23:31 邵贤军 阅读(35569) 评论(2) 推荐(9) 编辑
摘要: 先来看一下什么是常量指针,什么是指向常量的指针吧!1. 常量指针定义1 int * const ptr = new int();2. 指向常量的指针1 const int* ptr;上面已经看到常量指针和指向常量的指针是如何定义的了,那么他们有什么特点呢?1. 常量指针无法改变指针的值,即无法改变该指针指向的地址。因此,在定义常量指针的时候,必须要为其指定一个地址。即代码中的new int()。2. 指向常量的指针所指向的值是无法更改的,即不能修改,不能销毁。如果对指向常量的指针进行delete操作的话,编译阶段就会报错。上述二者的组合是什么呢?我们叫做指向常量的常量指针,这个指针本身无法.. 阅读全文
posted @ 2012-10-10 22:54 邵贤军 阅读(489) 评论(2) 推荐(0) 编辑
摘要: 学习写程序,就不能不对程序的数据存放有一定的了解。可能你常常听说栈啊、堆啊什么的,下面咱们看看数据的存放有哪几个位置。①.栈区 存储【函数参数】以及【局部变量】,由编译器自动分配和释放②.堆区 存储程序员动态创建的对象,由程序员创建和释放③.寄存器区 存储栈顶指针(SP)和指令指针(IP),由操作系统负责④.全局区(静态区) 存储全局变量(静态变量),由操作系统负责,一般程序运行结束销毁⑤.文字常量区 存储常量字符串,比如代码中定的“HelloWorld”等,由操作系统负责⑥.程序代码区 存储代码段内容,学过汇编的话,可能知道一个汇编程序有一个叫... 阅读全文
posted @ 2012-10-10 21:51 邵贤军 阅读(400) 评论(0) 推荐(1) 编辑
摘要: 关于内联函数,我们所看到的大部分书籍都是如下描述的,当然,这是我个人的语言:内联函数是什么函数呢?直接了当的说,就是用inline关键字修饰的函数,不管是全局函数,还是成员函数,只要被inline关键字修饰,它就是内联函数。内联函数与其他普通的函数有什么区别呢?内联函数在生成可执行文件时,其代码块是直接嵌入到调用处的。它与宏非常类似。当然,是否以嵌入方式存在,由编译器决定。内联函数的核心作用是利用减少函数调用的产生开销来提高程序的性能。一句话,内联函数因为把代码直接嵌入到调用处,省略了函数调用这一步,无需初始化栈,保存寄存器等等,因而节省了运行开销。当然,上面的话是完全正确的,可是大多数人仅仅 阅读全文
posted @ 2012-10-10 12:56 邵贤军 阅读(1779) 评论(0) 推荐(1) 编辑
摘要: C++依旧支持goto的,怎么能不支持goto呢?有时候goto真的相当有效率~~ 1 #include <iostream> 2 using namespace std; 3 4 int main(){ 5 int i = 0; 6 TAG:i++; 7 if(i < 10){ 8 goto TAG; 9 }10 return 0;11 }就这么简单,呵呵! 阅读全文
posted @ 2012-10-10 00:23 邵贤军 阅读(344) 评论(1) 推荐(0) 编辑
摘要: 1. Windows 在VS中写好代码,在其中一个可以到达的位置设置断点,按F5启动调试,当运行到断点时,按ctrl+alt+D就可以看到汇编码了。2. Linux 写好代码,用gcc编译代码是,加上-S参数,那么就会生成一个后缀名是.s的文件,这个文件就是我们需要的汇编码文件了。具体命令如下: gcc -S mysourcefile.c 注意,是大写的S。 阅读全文
posted @ 2012-10-10 00:00 邵贤军 阅读(1140) 评论(2) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页