N******K 发帖数: 10202 | 1 我以前发过一个帖子
struct MatrixData
{
int M;
int N;
std::vector Data;
};
class Matrix
{
public:
std::shared_ptr m_Data;
Matrix(int R, int C)
{
m_Data=std::make_shared();
m_Data->M=R;
m_Data->N=C;
m_Data->Data.resize(R*C);
}
void Ref(Matrix& InputMatrix)
{
m_Data=InputMatrix.m_Data;
}
void operator=(Matrix& InputMatrix)
{
m_Data->M=InputMatrix.m_Data->M;
m_Data->N=InputMatrix.m_Data->N;
m_Data->Data=InputMatrix.m_Data->Data;
}
};
==============================
举例:
Matrix A(100,100);
Matrix B;
B.Ref(A); //相当于java B=A; |
t**r 发帖数: 3428 | |
N******K 发帖数: 10202 | 3 别光傻笑 说说看法
【在 t**r 的大作中提到】 : Lol
|
w***g 发帖数: 5958 | 4 我不笑你。写C++并且做运算的,应该每人都写过Matrix类。
【在 N******K 的大作中提到】 : 别光傻笑 说说看法
|
N******K 发帖数: 10202 | 5 你来发表评论 这种写法如何?
【在 w***g 的大作中提到】 : 我不笑你。写C++并且做运算的,应该每人都写过Matrix类。
|
m**********s 发帖数: 518 | 6 Boost 不是早就有了吗?没觉得Java alike呀
我以前发过一个帖子struct MatrixData{ int M; int N; std::vector Data;};<
/int>class Matrix{pub........
【在 N******K 的大作中提到】 : 你来发表评论 这种写法如何?
|
w***g 发帖数: 5958 | 7 C++没有标准的矩阵库,真乃一大憾事。
【在 N******K 的大作中提到】 : 你来发表评论 这种写法如何?
|
h*******u 发帖数: 15326 | 8 主要是一票线性代数算法都要重新造轮子太受不了了。容器带还是小事
【在 w***g 的大作中提到】 : C++没有标准的矩阵库,真乃一大憾事。
|
N******K 发帖数: 10202 | 9 这样用 永远都没有 循环引用的问题
java的写法 c++的速度
【在 N******K 的大作中提到】 : 我以前发过一个帖子 : struct MatrixData : { : int M; : int N; : std::vector Data; : }; : class Matrix : { : public:
|
k**********g 发帖数: 989 | 10 用 opencv eigen gandalf 的表示理解并同情
严重同意 matrix class 必须自带 handle body idiom
验证码: MIPS SSE2 NEON 没图没真相 |
|
|
h**********c 发帖数: 4120 | 11 搞计算的不知道tnt吗?
nasa系统主要的几个package不至于吧
还是搞民主计算了。 |
N******K 发帖数: 10202 | 12 你说的日语?
【在 h**********c 的大作中提到】 : 搞计算的不知道tnt吗? : nasa系统主要的几个package不至于吧 : 还是搞民主计算了。
|
h**********c 发帖数: 4120 | 13 不懂您可以问,具体点
【在 N******K 的大作中提到】 : 你说的日语?
|
N******K 发帖数: 10202 | 14 民主计算?
【在 h**********c 的大作中提到】 : 不懂您可以问,具体点
|
h**********c 发帖数: 4120 | 15 最大的民主国家,您知道吗?
【在 N******K 的大作中提到】 : 民主计算?
|
N******K 发帖数: 10202 | 16 你是女机器人?
【在 h**********c 的大作中提到】 : 最大的民主国家,您知道吗?
|
h**********c 发帖数: 4120 | 17 我在回答你Matrix的问题
【在 N******K 的大作中提到】 : 你是女机器人?
|
N******K 发帖数: 10202 | 18 你是谁的机器人? 水平不行啊
【在 h**********c 的大作中提到】 : 我在回答你Matrix的问题
|
h**********c 发帖数: 4120 | 19 what are you talking about.
I got a phone to call.
【在 N******K 的大作中提到】 : 你是谁的机器人? 水平不行啊
|
N******K 发帖数: 10202 | 20 你也变机器人了?
【在 k**********g 的大作中提到】 : 用 opencv eigen gandalf 的表示理解并同情 : 严重同意 matrix class 必须自带 handle body idiom : 验证码: MIPS SSE2 NEON 没图没真相
|
|
|
s**x 发帖数: 7506 | 21 java 连在堆栈里定义个 object 都不可能阿。
C++:
Object obj;
or
auto *obj = new Object();
java: Object obj = new Object(); |
N******K 发帖数: 10202 | 22 c++ 里面 array of object reference 是不可能的
java里面 可以
【在 s**x 的大作中提到】 : java 连在堆栈里定义个 object 都不可能阿。 : C++: : Object obj; : or : auto *obj = new Object(); : java: Object obj = new Object();
|
s**x 发帖数: 7506 | 23
Sigh. You donot know how, doesnot mean c++ does not support it.
Java vm 也都是c++ 写的吧?
【在 N******K 的大作中提到】 : c++ 里面 array of object reference 是不可能的 : java里面 可以
|
n******n 发帖数: 12088 | 24 没有就是没有嘛。C++编译器是啥写的?
【在 s**x 的大作中提到】 : : Sigh. You donot know how, doesnot mean c++ does not support it. : Java vm 也都是c++ 写的吧?
|
N******K 发帖数: 10202 | 25 你说说c++里面怎么搞出一个 object reference array
【在 s**x 的大作中提到】 : : Sigh. You donot know how, doesnot mean c++ does not support it. : Java vm 也都是c++ 写的吧?
|
s**x 发帖数: 7506 | 26
google folly dynamic. https://github.com/facebook/folly/blob/master/folly/
docs/Dynamic.md
差不多的东西吧。
C++ 问题在于轮子太少, 大公司大都有自己的库, 小公司就苦逼了。 C++11 后, 加
了好多封装, 应该可以做的更好。
【在 N******K 的大作中提到】 : 你说说c++里面怎么搞出一个 object reference array
|
N******K 发帖数: 10202 | 27 array of object reference 我说的是这种
Matrix A, B, C, D;
std::vector RefList;
RefList.resize(4);
Reflist[0].ref(A);
Reflist[1].ref(B);
Reflist[2].ref(C);
Reflist[3].ref(D);
你说的这个显然不可以
folly/
【在 s**x 的大作中提到】 : : google folly dynamic. https://github.com/facebook/folly/blob/master/folly/ : docs/Dynamic.md : 差不多的东西吧。 : C++ 问题在于轮子太少, 大公司大都有自己的库, 小公司就苦逼了。 C++11 后, 加 : 了好多封装, 应该可以做的更好。
|
s*****u 发帖数: 164 | 28 你可以给 MatrixData 一个 constructor ,初始化
shared_ptr 的时候直接传矩阵维度,而
不是在 Matrix 里面对 Data 做初始化。
【在 N******K 的大作中提到】 : 我以前发过一个帖子 : struct MatrixData : { : int M; : int N; : std::vector Data; : }; : class Matrix : { : public:
|
N******K 发帖数: 10202 | 29 这是次要问题
【在 s*****u 的大作中提到】 : 你可以给 MatrixData 一个 constructor ,初始化 : shared_ptr 的时候直接传矩阵维度,而 : 不是在 Matrix 里面对 Data 做初始化。
|
s**x 发帖数: 7506 | 30
你是学Java 的吧? c++ 里reference 的概念要比Java 的复杂的多, Java 里面其实
根本就没有所谓的reference 概念,I know,you learned Java only uses reference
, no pointers. It is actually misleading. Java's reference is no difference
than a pointer!
【在 N******K 的大作中提到】 : array of object reference 我说的是这种 : Matrix A, B, C, D; : std::vector RefList; : RefList.resize(4); : Reflist[0].ref(A); : Reflist[1].ref(B); : Reflist[2].ref(C); : Reflist[3].ref(D); : 你说的这个显然不可以 :
|
|
|
N******K 发帖数: 10202 | 31 你扯这么多干啥 show me the code
RefList[0] 存储 Matrix& temp0 = A;
RefList[1] 存储 Matrix& temp1 = B;
RefList[2] 存储 Matrix& temp2 = C;
RefList[3] 存储 Matrix& temp3 = D;
reference
difference
【在 s**x 的大作中提到】 : : 你是学Java 的吧? c++ 里reference 的概念要比Java 的复杂的多, Java 里面其实 : 根本就没有所谓的reference 概念,I know,you learned Java only uses reference : , no pointers. It is actually misleading. Java's reference is no difference : than a pointer!
|
N******K 发帖数: 10202 | 32 sdlx 何在?
【在 N******K 的大作中提到】 : 你扯这么多干啥 show me the code : RefList[0] 存储 Matrix& temp0 = A; : RefList[1] 存储 Matrix& temp1 = B; : RefList[2] 存储 Matrix& temp2 = C; : RefList[3] 存储 Matrix& temp3 = D; : : reference : difference
|
s******u 发帖数: 501 | 33 用指针,不要纠结referene这个名字就行了
java的reference和c++的reference虽然是一个名字,但完全是两码事,严格的说java
的reference就是C的指针
【在 N******K 的大作中提到】 : 你扯这么多干啥 show me the code : RefList[0] 存储 Matrix& temp0 = A; : RefList[1] 存储 Matrix& temp1 = B; : RefList[2] 存储 Matrix& temp2 = C; : RefList[3] 存储 Matrix& temp3 = D; : : reference : difference
|
N******K 发帖数: 10202 | 34 sdlx 何在?
java
【在 s******u 的大作中提到】 : 用指针,不要纠结referene这个名字就行了 : java的reference和c++的reference虽然是一个名字,但完全是两码事,严格的说java : 的reference就是C的指针
|
s******u 发帖数: 501 | 35 你也不用找sdlx,自己早先说的话就不对
> c++ 里面 array of object reference 是不可能的
> java里面 可以
C++的reference完全不等于java的reference,java的reference基本等于C++的指针,
而array of object pointer当然可以
【在 N******K 的大作中提到】 : sdlx 何在? : : java
|
N******K 发帖数: 10202 | 36 sdlx认为是可能的 还举了例子 可惜是错误的
所以我一直等着sdlx举个正确例子
对了 sdlx是不是你马甲? 哈哈
【在 s******u 的大作中提到】 : 你也不用找sdlx,自己早先说的话就不对 : > c++ 里面 array of object reference 是不可能的 : > java里面 可以 : C++的reference完全不等于java的reference,java的reference基本等于C++的指针, : 而array of object pointer当然可以
|
s******u 发帖数: 501 | 37 我从来没说sdlx是正确的,C++规范里面很明确说了不能有reference的pointer,所以
不可能有reference的array
我说的是你最初的statement,把java的reference和C++的reference混为一谈,说明你
对C++或者java的reference的理解很肤浅,承认不?
【在 N******K 的大作中提到】 : sdlx认为是可能的 还举了例子 可惜是错误的 : 所以我一直等着sdlx举个正确例子 : 对了 sdlx是不是你马甲? 哈哈
|
N******K 发帖数: 10202 | 38 你赶紧用sdlx这个马甲 我等着他/她/它举例子
【在 s******u 的大作中提到】 : 我从来没说sdlx是正确的,C++规范里面很明确说了不能有reference的pointer,所以 : 不可能有reference的array : 我说的是你最初的statement,把java的reference和C++的reference混为一谈,说明你 : 对C++或者java的reference的理解很肤浅,承认不?
|