问题如下所示有两个cxx源文件, 分别定义与使用一个const变量. 将其一起编译时报错: undefined reference of ‘meow::miao‘.[01:06:44] hansy@hansy:~/testcase$ cat 1.cc
namespace meow {const int miao = 1;
}
[01:06:47] hansy@hansy:~/testcase$ cat 2.cc
namespace meow {extern const int miao;
}using namespace meow;
int main() {return miao;
}
[01:06:49] hansy@hansy:~/testcase$
[01:06:52] hansy@hansy:~/testca...
目录一 set和multiset二 对组pair注:原创不易,转载请务必注明原作者和出处,感谢支持!注:内容来自某培训课程,不一定完全正确!一 set和multisetset和multiset的特性是所有元素会根据元素的值自动进行排序。set和multiset以红黑树(平衡二叉树的一种)为底层机制。其查找效率非常好。set容器中不允许重复的元素,multiset则允许重复元素存在。构造函数set<T> st; // 默认构造函数
multiset<T> mst; // mul...
总结--C++ primer 5 一、左值和右值(P121)1. 概念 C++的表达式,要不然是右值,要不然是左值。 这两个名词继承与C语言,在C中是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能。在C++中,二者的区别没那么简单:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。 一个重要的原则(P470有一个例外):在需要右值的地方可以用左值来代替,但是不...
c++ 枚举用到了c++11规范里的多线程,然后编译的时候就报错了,中午各种改CMakeLists没搞定,下午师弟介绍文档,cmake practice,参考第七章,搞定了。只需要CMakeLists.txt里添加一句话:set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11 -pthread")开始的时候没有-pthread能make,但运行的时候就崩溃了,参考这里解决。根据讨论,桌面Linux环境这样就行了,如果是嵌入式交叉编译环境的话,还需要显示添加find_package (Threa...
下面是一个头文件people.h,这个头文件有一个类People,类中有一个未实现的方法sayHello();1class People{
23public:
4void sayHello();
5 };接下来这个源文件实现了People的sayHello方法,用于打印一句话;#include <iostream>
#include "people.h"usingnamespace std;void People::sayHello(){cout<<"Hello World!"<<endl;
}最后是主函数所在的文件了,主要new了一个People对象,并且调用了他的sayHello对象打印一句话; 1 #incl...
在网上看到这道题,编写程序如下:代码1:char *cpystr(char *des,const char *src){ int i = 0; if (NULL == des || NULL == src) return NULL; while (src[i] != ‘\0‘) { des[i] = src[i]; i++; } return des;}1.这样写可以实现复制功能,只是C/C++语法有一个漏洞,支持const char*向char *的默认转换,如果调用cpystr()时这样写:cpystr("hello","hello");可以编译通过(在VS2013下测试)。运行会发生段错误。为避免这个错...
使用了poco c++库一段时间了,深刻体会到它的便利性。和Qt框架库相比,poco框架库虽然不那么肥美,但胜在“轻巧”。在它的应用场景中,可得心应手。 POCO C++库 是开源的用于简化和加速C++开发面向网络、可移植应用程序的C++库集,POCO库和C++标准库,可以很好的集成并填补了C++标准库缺乏的功能空隙。 POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,由于C++既适合底层(设备I/O、中断...
1.使用for循环的额外好处之一是,你可以用它来声明一个其作用范围仅限于for循环本身的变量。这个变量时“临时”声明的,它只能在for循环的内部使用。2.for语句不要求你必须给出3个表达式(初始化,条件和递增表达式)。如果省略了他们当中的某几个,它们将被忽略。如果忽略了条件表达式,循环条件将被默认解释为“真”,从而创建一个无限循环。for(;;)
{
//Infinite loop!
}无限循环一般来说是不好的,但如果在其中安排了某种跳出它...
重载二元运算符http://www.cnblogs.com/LubinLew/p/CppOperatorOverload-BinaryOperator.html 重载一元运算符http://www.cnblogs.com/LubinLew/p/CppOperatorOverload-UnaryOperator.html 重载特殊运算符http://www.cnblogs.com/LubinLew/p/CppOperatorOverload-SpecialOperator.html 重载 输入/输出 运算符http://www.cnblogs.com/LubinLew/p/CppOperatorOverload-IOOperator.html 类型转换http://www.cnblogs.com/LubinLew/p/Cpp...
??最近终于把effectvie C++仔细的阅读了一边,很惊叹C++的威力与魅力。最近会把最近的读书心得与读书笔记记于此,必备查找使用,如果总结有什么不当之处,欢迎批评指正:现在只列出框架,最近会尽快填充完整:第2部分:构造/析构/赋值运算
个人认为这是C++的比较难理解的地方,也是C++的深邃所在,刚开始阅读时,可能在某些地方不理解,最好的方式是边读边编程实现,用心去思考其精髓所在!条款5:了解C++默默编写并调用那些函数条款...
1、指针和引用的主要区别。 引用是为变量起另一个名字(小名),一般在变量初始化时,初始值直接拷贝给变量,定义引用时,把引用(小名)和初始值“绑定”在一起,而不是将初始值拷贝给引用。因为 无法将引用重新绑定到另一个对象,所以引用必须初始化。 举个例子: 有个变量叫张三,张三=2。给张三起个小名叫小三,即小三=张三。定义引用”小三“时必须针对一个对象,一旦定义完成,”小三“就不能再指定别的变量,所以起小...
CString strDayofWeek = _T(""); 的意思 1.sComment是自定义的CString类型变量,代表什么意思自己说了算2._T是一个宏,作用是让你的程序支持Unicode编码。如果你的程序使用的是“多字节字符集”的话,他不起任何作用3._T("")表示把CString类型变量初始化为空。------------------------------------------------------------------------------原文:http://www.cnblogs.com/fclbky/p/4247909.html
1.查找算法find: 区间查找find_first_of: 查找区间第一次出现adjacent_find: 查找第一次重复的数search: 子序列查找search_n: 子序列查找出现次数count: 区间统计count_if: 条件统计equal: 比较有序查找:binary_search: 二分查找upper_bound: 查找最后一个大于查找的值lower_bound: 大于等于查找的值equal_range: 区间比较,必须是有序序列void testSearch()
{int array[10] = { 1,3,5,7,8,2,0,1,34,9 };vector<int> vec;vec.assi...
1.安装mysql客户端 用命令:yum install -y mysql-server mysql mysql-devel此命令包含了安装客户端和服务器2.访问myslq在命令行输入:mysql -h192.168.0.36 -uroot -p123456出现:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 45099Server version: 5.5.5-10.0.12-MariaDB MariaDB ServerCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a r...
我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如,constchar blank=‘‘;
blank=‘\n‘; //错误面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据成员。若要修改类对象,应调用公有成员函数来完成。为了保证const对象的常量性,编译器须区分不安全与安全的成员函数(即区分试图修改类对象与不修改类对象的函数)。例如,const Screen blankScreen; //Sc...